/*package husaccttest.define; import static org.junit.Assert.assertTrue; import husacct.common.dto.ApplicationDTO; import husacct.common.dto.ModuleDTO; import husacct.common.dto.PhysicalPathDTO; import husacct.common.dto.RuleDTO; import husacct.define.DefineServiceImpl; import husacct.define.domain.SoftwareArchitecture; import husacct.define.domain.module.ModuleFactory; import husacct.define.domain.module.ModuleStrategy; import org.junit.Before; import org.junit.Test; public class DefineServiceTests { private SoftwareArchitecture sA = SoftwareArchitecture.getInstance(); private DefineServiceImpl defineService = new DefineServiceImpl(); private ModuleFactory factory= new ModuleFactory(); @Before public void setUp(){ sA = new SoftwareArchitecture("Test architecture", "This architecture is used for testing purposes"); SoftwareArchitecture.setInstance(sA); ModuleStrategy module1 = factory.createModule("externalsystem").set(name, description)("SubSystem 1", "This is subsystem 1"); ModuleStrategy module2 = new SubSystem("SubSystem 2", "This is subsystem 2"); ModuleStrategy module3 = new SubSystem("SubSystem 3", "This is subsystem 3"); ModuleStrategy layer1 = new Layer("Layer 1", "This is layer 1", 1); ModuleStrategy layer2 = new Layer("Layer 2", "This is layer 2", 2); ModuleStrategy component1 = new Component("Component 1", "This is component 1"); ModuleStrategy subModule1 = new SubSystem("SubSystem 4", "This is a subsystem"); ModuleStrategy subModule11 = new SubSystem("SubSystem 5", "This is a subsystem"); ModuleStrategy subModule2 = new SubSystem("SubSystem 6", "This is a subsystem"); ModuleStrategy subModule3 = new SubSystem("SubSystem 7", "This is a subsystem"); // AppliedRule rule1 = new AppliedRule("IsNotAllowedToUse", "Test", new String[]{}, // "", module1, module2, true); // // AppliedRule exception1 = new AppliedRule("IsAllowedToUse", "Test", new String[]{}, // "", subModule1, subModule2, true); //TODO: Test SoftwareUnitDefinitions module1.addSubModule(subModule1); module1.addSubModule(subModule11); module2.addSubModule(subModule2); module3.addSubModule(subModule3); // rule1.addException(exception1); layer1.addSubModule(module1); layer2.addSubModule(module2); sA.addSeperatedModule(layer1); sA.addSeperatedModule(layer2); sA.addSeperatedModule(module3); sA.addSeperatedModule(component1); //sA.addAppliedRule(rule1); } @Test public void isDefined(){ assertTrue(defineService.isDefined() == true); } @Test public void isMapped(){ assertTrue(defineService.isMapped() == false); } @Test public void createAndGetApplication(){ //defineService.createApplication("Application1", new String[] {"c:/Application1/"}, "Java", "1.0"); ApplicationDTO appDTO = defineService.getApplicationDetails(); assertTrue(appDTO.name.equals("Application1")); //assertTrue(areArraysEqual(appDTO.paths, new String[] {"c:/Application1/"})); //assertTrue(appDTO.programmingLanguage.equals("Java")); assertTrue(appDTO.version.equals("1.0")); } @Test public void getRootModules(){ ModuleDTO[] rootModuleDTOs = defineService.getRootModules(); assertTrue(rootModuleDTOs.length == 4); assertTrue(rootModuleDTOs[0].logicalPath.equals("Layer 1")); assertTrue(rootModuleDTOs[0].type.equals("Layer")); assertTrue(areArraysEqual(rootModuleDTOs[0].physicalPathDTOs, new PhysicalPathDTO[] {})); assertTrue(rootModuleDTOs[0].subModules.length == 0); assertTrue(rootModuleDTOs[1].logicalPath.equals("Layer 2")); assertTrue(rootModuleDTOs[1].type.equals("Layer")); assertTrue(areArraysEqual(rootModuleDTOs[1].physicalPathDTOs, new PhysicalPathDTO[] {})); assertTrue(rootModuleDTOs[1].subModules.length == 0); assertTrue(rootModuleDTOs[2].logicalPath.equals("SubSystem 3")); assertTrue(rootModuleDTOs[2].type.equals("SubSystem")); assertTrue(areArraysEqual(rootModuleDTOs[2].physicalPathDTOs, new PhysicalPathDTO[] {})); assertTrue(rootModuleDTOs[2].subModules.length == 0); } @Test public void getAppliedRules(){ RuleDTO[] ruleDTOs = defineService.getDefinedRules(); assertTrue(ruleDTOs.length == 1); //Rule1 assertTrue(ruleDTOs[0].ruleTypeKey.equals("IsNotAllowedToUse")); //Rule1 ModuleFrom assertTrue(ruleDTOs[0].moduleFrom.logicalPath.equals("Layer 1.SubSystem 1")); assertTrue(ruleDTOs[0].moduleFrom.type.equals("SubSystem")); assertTrue(areArraysEqual(ruleDTOs[0].moduleFrom.physicalPathDTOs, new PhysicalPathDTO[] {})); //Rule1 ModuleTo assertTrue(ruleDTOs[0].moduleTo.logicalPath.equals("Layer 2.SubSystem 2")); assertTrue(ruleDTOs[0].moduleTo.type.equals("SubSystem")); assertTrue(areArraysEqual(ruleDTOs[0].moduleTo.physicalPathDTOs, new PhysicalPathDTO[] {})); assertTrue(areArraysEqual(ruleDTOs[0].violationTypeKeys, new String[] {})); assertTrue(ruleDTOs[0].exceptionRules.length == 1); //Rule1 Exception assertTrue(ruleDTOs[0].exceptionRules[0].ruleTypeKey.equals("IsAllowedToUse")); //Rule1 ModuleFrom assertTrue(ruleDTOs[0].exceptionRules[0].moduleFrom.logicalPath.equals("Layer 1.SubSystem 1.SubSystem 4")); assertTrue(ruleDTOs[0].exceptionRules[0].moduleFrom.type.equals("SubSystem")); assertTrue(areArraysEqual(ruleDTOs[0].exceptionRules[0].moduleFrom.physicalPathDTOs, new PhysicalPathDTO[] {})); //Rule1 ModuleTo assertTrue(ruleDTOs[0].exceptionRules[0].moduleTo.logicalPath.equals("Layer 2.SubSystem 2.SubSystem 6")); assertTrue(ruleDTOs[0].exceptionRules[0].moduleTo.type.equals("SubSystem")); assertTrue(areArraysEqual(ruleDTOs[0].exceptionRules[0].moduleTo.physicalPathDTOs, new PhysicalPathDTO[] {})); assertTrue(areArraysEqual(ruleDTOs[0].exceptionRules[0].violationTypeKeys, new String[] {})); assertTrue(ruleDTOs[0].exceptionRules[0].exceptionRules.length == 0); } @Test public void getChildsFromModule(){ ModuleDTO[] childModuleDTOs = defineService.getChildrenFromModule("Layer 1"); assertTrue(childModuleDTOs.length == 1); assertTrue(childModuleDTOs[0].logicalPath.equals("Layer 1.SubSystem 1")); assertTrue(childModuleDTOs[0].type.equals("SubSystem")); assertTrue(areArraysEqual(childModuleDTOs[0].physicalPathDTOs, new PhysicalPathDTO[] {})); assertTrue(childModuleDTOs[0].subModules.length == 0); childModuleDTOs = defineService.getChildrenFromModule("Layer 1.SubSystem 1"); assertTrue(childModuleDTOs.length == 2); } @Test public void getParentFromModule(){ String parentModuleName; parentModuleName = defineService.getParentFromModule("Layer 1.SubSystem 1"); assertTrue(parentModuleName.equals("Layer 1")); parentModuleName = defineService.getParentFromModule("Layer 1"); assertTrue(parentModuleName.equals("**")); parentModuleName = defineService.getParentFromModule("Layer 1.SubSystem 1.SubSystem 4"); assertTrue(parentModuleName.equals("Layer 1.SubSystem 1")); } //public void Ifremove private boolean areArraysEqual(Object[] list, Object[] list2){ boolean areEqual = true; if (list.length == list2.length){ for (int i = 0;i<list.length;i++){ areEqual = areEqual && list[i].equals(list2[i]); } } else{ areEqual = false; } return areEqual; } } */