package com.hundsun.ares.studio.core; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; import org.eclipse.core.resources.IProject; import org.junit.Test; public class TestARESElement extends AbstractAresCoreTester{ @Test public void testExists() { assertTrue(project.exists()); assertTrue(root1.exists()); assertTrue(moduleA.exists()); assertTrue(moduleB.exists()); assertTrue(resourceA.exists()); assertTrue(resourceB.exists()); assertTrue(resInLib.exists()); assertTrue(lib.exists()); assertFalse(unRegistedRes.exists()); } @Test public void testGetElementName() { // project assertEquals(project.getElementName(), Helper.TEST_PROJECT_1); // module root assertEquals(root1.getElementName(), Helper.TEST_MODULE_ROOT); // module assertEquals(moduleA.getElementName(), Helper.TEST_MODULE_NAME); assertEquals(moduleB.getElementName(), Helper.TEST_MODULE_NAME_B); // resource assertEquals(resourceA.getElementName(), "aaa.test"); assertEquals(resourceB.getElementName(), "bbb.test"); assertEquals(resInLib.getElementName(), "aaa.test"); } @Test public void testGetElementType() { // project assertEquals(project.getElementType(), IARESElement.ARES_PROJECT); // module root assertEquals(root1.getElementType(), IARESElement.COMMON_MODULE_ROOT); // module assertEquals(moduleA.getElementType(), IARESElement.COMMON_MODULE); // resource assertEquals(resourceA.getElementType(), IARESElement.ARES_RESOURCE); } @Test public void testGetParent() { assertEquals(project.getParent(), ARESCore.getModel()); // module root assertEquals(root1.getParent(), project); // module assertEquals(moduleA.getParent(), root1); assertEquals(moduleB.getParent(), root1); // resource IARESModule defaultModule = root1.getModule(IARESModule.DEFAULT_MODULE_NAME); assertEquals(resourceA.getParent(), defaultModule); assertEquals(resourceB.getParent(), moduleB); //assertEquals(resInLib, "aaa.test"); } @Test public void testGetARESProject() { // project assertEquals(project.getARESProject(), project); // module root assertEquals(root1.getARESProject(), project); // module assertEquals(moduleA.getARESProject(), project); assertEquals(moduleB.getARESProject(), project); // resource assertEquals(resourceA.getARESProject(), project); assertEquals(resourceB.getARESProject(), project); assertEquals(resInLib.getARESProject(), project); } @Test public void testGetResource() { IProject p = wsRoot.getProject(Helper.TEST_PROJECT_1); // project assertEquals(project.getResource(), p); // module root assertEquals(root1.getResource(), p.getFolder(Helper.TEST_MODULE_ROOT)); // module assertEquals(moduleA.getResource(), p.getFolder("testroot1/aa")); assertEquals(moduleB.getResource(), p.getFolder("testroot1/aa/bb")); // resource assertEquals(resourceA.getResource(), p.getFile("testroot1/aaa.test")); assertEquals(resourceB.getResource(), p.getFile("testroot1/aa/bb/bbb.test")); //assertEquals(resInLib.getResource(), "aaa.test"); } @Test public void testIsReadOnly() { assertFalse(resourceA.isReadOnly()); assertFalse(resourceB.isReadOnly()); assertTrue(resourceReadOnly.isReadOnly()); assertTrue(resInLib.isReadOnly()); } // @Test // public void testIsStructureKnown() { // assertFalse(resourceA.isStructureKnown()); // try { // resourceA.getInfo(Object.class); // } catch (ARESModelException e) { // e.printStackTrace(); // } // assertTrue(resourceA.isStructureKnown()); // } }