Java tutorial
/* * Copyright 2016 Igor Maznitsa. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.igormaznitsa.mindmap.plugins.importers; import static java.util.Arrays.asList; import org.junit.Test; import static org.junit.Assert.*; import java.io.File; import java.util.List; import org.apache.commons.io.FileUtils; import com.igormaznitsa.mindmap.model.MindMap; import com.igormaznitsa.mindmap.model.Topic; public class Text2MindMapImporterTest { private static final Text2MindMapImporter INSTANCE = new Text2MindMapImporter(); @Test public void testDoImport_Empty() throws Exception { final MindMap result = INSTANCE.makeFromLines(asList(" "), null); assertNull(result.getRoot()); } @Test public void testDoImport_OnlyRoot() throws Exception { final MindMap result = INSTANCE.makeFromLines(asList("\tSolar system "), null); assertEquals("Solar system", result.getRoot().getText()); } @Test public void testDoImport_Multilevel() throws Exception { final MindMap result = INSTANCE.makeFromLines(asList("Solar system", "\tMercury", "\tVenus", "\tEarth", "\t\tMoon", "\tMars", "\t\tFobos", "\t\tDemos", "Jupiter"), null); assertEquals("Solar system", result.getRoot().getText()); assertEquals(5, result.getRoot().getChildren().size()); final Topic mars = result.getRoot().getChildren().get(3); final Topic jupiter = result.getRoot().getChildren().get(4); assertEquals("Mars", mars.getText()); assertEquals(2, mars.getChildren().size()); assertEquals("Jupiter", jupiter.getText()); } @Test public void testDoImport_Multilevel2() throws Exception { final MindMap result = INSTANCE.makeFromLines( asList("solar system", "\tjupiter", "\tmars", " \t\tfobos", "\t\tdeimos", "\tpluto", "\tsaturn"), null); assertEquals("solar system", result.getRoot().getText()); assertEquals(4, result.getRoot().getChildren().size()); final Topic root = result.getRoot(); assertEquals("jupiter", root.getChildren().get(0).getText()); assertEquals("mars", root.getChildren().get(1).getText()); assertEquals("pluto", root.getChildren().get(2).getText()); assertEquals("saturn", root.getChildren().get(3).getText()); final Topic mars = result.getRoot().getChildren().get(1); assertEquals(2, mars.getChildren().size()); assertEquals("fobos", mars.getChildren().get(0).getText()); assertEquals("deimos", mars.getChildren().get(1).getText()); } @Test public void testImportFromFile() throws Exception { final File file = new File(Text2MindMapImporter.class.getResource("tabbedtext.txt").getFile()); assertTrue(file.isFile()); final List<String> lines = FileUtils.readLines(file); final MindMap result = INSTANCE.makeFromLines(lines, null); assertEquals(5, result.getRoot().getChildren().size()); } }