|
| 1 | +package ca.dal.treefactor; |
| 2 | + |
| 3 | +import ca.dal.treefactor.model.UMLModel; |
| 4 | +import ca.dal.treefactor.model.elements.UMLClass; |
| 5 | +import ca.dal.treefactor.model.elements.UMLOperation; |
| 6 | +import ca.dal.treefactor.model.elements.UMLAttribute; |
| 7 | +import ca.dal.treefactor.util.UMLModelReader; |
| 8 | +import org.junit.jupiter.api.Test; |
| 9 | +import java.util.HashMap; |
| 10 | +import java.util.HashSet; |
| 11 | +import java.util.Map; |
| 12 | +import static org.junit.jupiter.api.Assertions.*; |
| 13 | + |
| 14 | +public class UMLModelReaderTest { |
| 15 | + |
| 16 | + @Test |
| 17 | + public void testUMLModelGeneration() { |
| 18 | + // Prepare test data |
| 19 | + Map<String, String> fileContents = new HashMap<>(); |
| 20 | + fileContents.put("example.py", "class Example:\n def method(self):\n pass"); |
| 21 | + |
| 22 | + // Create UMLModelReader and generate UMLModel |
| 23 | + UMLModelReader umlReader = new UMLModelReader(fileContents, new HashSet<>()); |
| 24 | + UMLModel model = umlReader.getUmlModel(); |
| 25 | + |
| 26 | + // Verify the UML model |
| 27 | + assertEquals(1, model.getClasses().size(), "There should be one class in the model"); |
| 28 | + |
| 29 | + UMLClass umlClass = model.getClasses().get(0); |
| 30 | + assertEquals("Example", umlClass.getName(), "The class name should be 'Example'"); |
| 31 | + |
| 32 | + assertEquals(1, umlClass.getOperations().size(), "There should be one method in the class"); |
| 33 | + UMLOperation operation = umlClass.getOperations().get(0); |
| 34 | + assertEquals("method", operation.getName(), "The method name should be 'method'"); |
| 35 | + assertEquals("void", operation.getReturnType().getTypeName(), "The return type should be 'void'"); |
| 36 | + |
| 37 | + assertEquals(0, operation.getParameters().size(), "The method should have no parameters"); |
| 38 | + assertEquals(0, umlClass.getAttributes().size(), "The class should have no attributes"); |
| 39 | + } |
| 40 | +} |
0 commit comments