Skip to content
This repository was archived by the owner on Jan 7, 2025. It is now read-only.

Commit 63ac58e

Browse files
committed
add tests
1 parent eb8826c commit 63ac58e

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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

Comments
 (0)