Changeset 1625 for trunk


Ignore:
Timestamp:
07/29/14 14:32:42 (10 years ago)
Author:
sherbold
Message:
  • added test case for UMLUtils.createInteractionFromEventSequence
Location:
trunk/autoquest-plugin-uml-test/src/test
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java

    r1609 r1625  
    5858 */ 
    5959public class UMLUtilsTest { 
    60      
     60 
    6161    private final static String OUTPUT_DIR = "target/tmp/test-outputs/"; 
    62      
     62 
    6363    /** 
    6464    * 
    6565    */ 
    66    @After 
    67    public void tearDown() throws Exception { 
    68        deleteFiles(new File(OUTPUT_DIR)); 
    69    } 
    70  
    71     @Test(expected=java.lang.RuntimeException.class) 
    72     public void createUMLTransitionSequence_1() throws Exception { 
     66    @After 
     67    public void tearDown() throws Exception { 
     68        deleteFiles(new File(OUTPUT_DIR)); 
     69    } 
     70 
     71    @Test(expected = java.lang.RuntimeException.class) 
     72    public void testCreateUMLTransitionSequence_1() throws Exception { 
    7373        // parse log file 
    7474        HTTPLogParser parser = new HTTPLogParser(); 
     
    101101        } 
    102102    } 
    103      
     103 
    104104    @Test 
    105     public void convertStateMachineToUsageProfile_1() throws Exception { 
     105    public void testConvertStateMachineToUsageProfile_1() throws Exception { 
    106106        // parse log file 
    107107        HTTPLogParser parser = new HTTPLogParser(); 
     
    131131            } 
    132132 
    133             List<List<Transition>> matchingSequences = UMLUtils.determineMatchingTransitionSequences(httpSequence, stateMachine); 
     133            List<List<Transition>> matchingSequences = 
     134                UMLUtils.determineMatchingTransitionSequences(httpSequence, stateMachine); 
    134135            if (matchingSequences.size() >= 1) { 
    135136                List<Event> umlEventSequence = new LinkedList<>(); 
     
    141142        } 
    142143        UMLUtils.convertStateMachineToUsageProfile(umlSequences, stateMachine); 
    143          
     144 
    144145        writeModelToFile(model, OUTPUT_DIR + "convertStateMachineToUsageProfile_1.uml"); 
    145146    } 
    146      
     147 
     148    @Test 
     149    public void testCreateInteractionFromEventSequence_1() throws Exception { 
     150        // parse log file 
     151        HTTPLogParser parser = 
     152            new HTTPLogParser(new File(ClassLoader 
     153                .getSystemResource("testCreateInteractionFromEventSequence_1_properties.txt").getFile())); 
     154        parser.parseFile(new File(ClassLoader 
     155            .getSystemResource("testCreateInteractionFromEventSequence_1_usagedata.log").getFile())); 
     156        Collection<List<Event>> httpSequences = parser.getSequences(); 
     157        Model model = 
     158            loadModelFromInputStream(ClassLoader 
     159                .getSystemResourceAsStream("testCreateInteractionFromEventSequence_1_model.uml")); 
     160 
     161        for (List<Event> httpSequence : httpSequences) { 
     162            for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) { 
     163                Event event = eventIter.next(); 
     164                if (!(event.getType() instanceof SOAPEventType)) { 
     165                    eventIter.remove(); 
     166                } 
     167            } 
     168 
     169            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "testSequence"); 
     170        } 
     171        //writeModelToFile(model, "testCreateInteractionFromEventSequence_1_result.uml"); 
     172    } 
     173 
    147174    private static void writeModelToFile(Model model, String filename) throws IOException { 
    148175        final ResourceSet resourceSet = new ResourceSetImpl(); 
     176        UMLResourcesUtil.init(resourceSet); 
    149177        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap() 
    150178            .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new ResourceFactoryImpl() { 
    151179                @Override 
    152180                public Resource createResource(URI uri) { 
    153                     return new XMIResourceImpl(uri); 
     181                    return new XMIResourceImpl(uri) { 
     182                        @Override 
     183                        public boolean useUUIDs() 
     184                        { 
     185                                return true; 
     186                        } 
     187                    }; 
    154188                } 
    155189            }); 
    156190 
    157191        Resource resource = resourceSet.createResource(URI.createURI("binresource")); 
    158  
     192         
    159193        resource.getContents().add(model); 
    160194        FileOutputStream fos; 
    161195        File file = new File(filename); 
    162         file.getParentFile().mkdirs(); 
    163196        fos = new FileOutputStream(file); 
    164197        resource.save(fos, null); 
     
    171204        resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE); 
    172205        resourceSet.getPackageRegistry().put(EcorePackage.eNS_URI, EcorePackage.eINSTANCE); 
    173         resourceSet.getResourceFactoryRegistry(); 
    174206        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap() 
    175207            .put(Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl()); 
     
    184216 
    185217        Resource resource = new XMIResourceImpl(); 
    186         /* 
    187          * XMIResource.XMLMap xmlMap = new XMLMapImpl(); Map options = new HashMap(); 
    188          * options.put(XMIResource.OPTION_XML_MAP, xmlMap); 
    189          */ 
    190218 
    191219        try { 
     
    201229    } 
    202230 
    203    private void deleteFiles(File file) { 
    204        if (file.exists()) { 
    205            if (file.isDirectory()) { 
    206                for (File child : file.listFiles()) { 
    207                    deleteFiles(child); 
    208                } 
    209            } 
    210             
    211            try { 
    212                file.delete(); 
    213            } 
    214            catch (Exception e) { 
    215                // ignore and delete as much as possible 
    216            } 
    217        } 
    218    } 
     231    private void deleteFiles(File file) { 
     232        if (file.exists()) { 
     233            if (file.isDirectory()) { 
     234                for (File child : file.listFiles()) { 
     235                    deleteFiles(child); 
     236                } 
     237            } 
     238 
     239            try { 
     240                file.delete(); 
     241            } 
     242            catch (Exception e) { 
     243                // ignore and delete as much as possible 
     244            } 
     245        } 
     246    } 
    219247 
    220248} 
Note: See TracChangeset for help on using the changeset viewer.