/** * Copyright (C) 2005 - 2011 Eric Van Dewoestine * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.eclim.plugin.jdt.command.hierarchy; import java.util.List; import java.util.Map; import org.eclim.Eclim; import org.eclim.plugin.jdt.Jdt; import org.junit.Test; import static org.junit.Assert.*; /** * Test case for HierarchyCommand. * * @author Eric Van Dewoestine */ public class HierarchyCommandTest { private static final String TEST_FILE = "src/org/eclim/test/hierarchy/TestHierarchy.java"; @Test @SuppressWarnings("unchecked") public void test() { assertTrue("Java project doesn't exist.", Eclim.projectExists(Jdt.TEST_PROJECT)); Map<String,Object> result = (Map<String,Object>) Eclim.execute(new String[]{ "java_hierarchy", "-p", Jdt.TEST_PROJECT, "-f", TEST_FILE, "-o", "1", "-e", "utf-8" }); assertEquals(result.get("name"), "public class TestHierarchy"); assertEquals(result.get("qualified"), "org.eclim.test.hierarchy.TestHierarchy"); List<Map<String,Object>> children = (List<Map<String,Object>>) result.get("children"); Map<String,Object> child = children.get(0); assertEquals(child.get("name"), "public class Component"); assertEquals(child.get("qualified"), "java.awt.Component"); List<Map<String,Object>> subChildren = (List<Map<String,Object>>)child.get("children"); child = subChildren.get(0); assertEquals(child.get("name"), "public interface ImageObserver"); assertEquals(child.get("qualified"), "java.awt.image.ImageObserver"); assertEquals(((List<Object>)child.get("children")).size(), 0); child = subChildren.get(1); assertEquals(child.get("name"), "public interface MenuContainer"); assertEquals(child.get("qualified"), "java.awt.MenuContainer"); assertEquals(((List<Object>)child.get("children")).size(), 0); child = subChildren.get(2); assertEquals(child.get("name"), "public interface Serializable"); assertEquals(child.get("qualified"), "java.io.Serializable"); assertEquals(((List<Object>)child.get("children")).size(), 0); child = children.get(1); assertEquals(child.get("name"), "public interface Comparable"); assertEquals(child.get("qualified"), "java.lang.Comparable"); assertEquals(((List<Object>)child.get("children")).size(), 0); child = children.get(2); assertEquals(child.get("name"), "public interface PropertyChangeListener"); assertEquals(child.get("qualified"), "java.beans.PropertyChangeListener"); children = (List<Map<String,Object>>)child.get("children"); child = children.get(0); assertEquals(child.get("name"), "public interface EventListener"); assertEquals(child.get("qualified"), "java.util.EventListener"); assertEquals(((List<Object>)child.get("children")).size(), 0); } @Test @SuppressWarnings("unchecked") public void testNested() { Map<String,Object> result = (Map<String,Object>) Eclim.execute(new String[]{ "java_hierarchy", "-p", Jdt.TEST_PROJECT, "-f", TEST_FILE, "-o", "967", "-e", "utf-8" }); assertEquals(result.get("name"), "class TestHierarchy.TestNested"); assertEquals(result.get("qualified"), "org.eclim.test.hierarchy.TestHierarchy"); List<Map<String,Object>> children = (List<Map<String,Object>>) result.get("children"); Map<String,Object> child = children.get(0); assertEquals(child.get("name"), "public interface Comparable"); assertEquals(child.get("qualified"), "java.lang.Comparable"); assertEquals(((List<Object>)child.get("children")).size(), 0); child = children.get(1); assertEquals(child.get("name"), "public interface PropertyChangeListener"); assertEquals(child.get("qualified"), "java.beans.PropertyChangeListener"); children = (List<Map<String,Object>>)child.get("children"); child = children.get(0); assertEquals(child.get("name"), "public interface EventListener"); assertEquals(child.get("qualified"), "java.util.EventListener"); assertEquals(((List<Object>)child.get("children")).size(), 0); result = (Map<String,Object>) Eclim.execute(new String[]{ "java_hierarchy", "-p", Jdt.TEST_PROJECT, "-f", TEST_FILE, "-o", "1075", "-e", "utf-8" }); assertEquals(result.get("name"), "class TestHierarchy.Test"); assertEquals(result.get("qualified"), "org.eclim.test.hierarchy.TestHierarchy"); assertEquals(((List<Object>)result.get("children")).size(), 0); } }