Skip to content

Commit 480c96f

Browse files
committed
Added expected result assertions to builtin tests.
1 parent 29d7a6b commit 480c96f

27 files changed

Lines changed: 2161 additions & 566 deletions

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/FUMLTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
import org.apache.commons.logging.Log;
1616
import org.apache.commons.logging.LogFactory;
1717

18+
import fUML.Semantics.Classes.Kernel.IntegerValue;
19+
import fUML.Semantics.Classes.Kernel.Value;
20+
import fUML.Semantics.Classes.Kernel.ValueList;
21+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
22+
1823
/**
1924
*/
2025
public abstract class FUMLTest extends TestCase {
@@ -75,6 +80,26 @@ public static String getServerHost() {
7580
return hostName;
7681
}
7782

83+
public static void assertIntegerValues(String label, ParameterValue parameterValue, int... expectedValues) throws Exception {
84+
assertIntegerValues(label, parameterValue.values, expectedValues);
85+
}
86+
87+
public static void assertIntegerValues(String label, ValueList values, int... expectedValues) throws Exception {
88+
assertEquals(label + ": values.size()", expectedValues.length, values.size());
89+
for (int i = 0; i < values.size(); i++) {
90+
Value value = values.get(i);
91+
assertTrue(label + ": value[" + i + "] instanceof IntegerValue", value instanceof IntegerValue);
92+
assertEquals(label + ": value[" + i + "]", expectedValues[i], ((IntegerValue)value).value);
93+
}
94+
}
95+
96+
public static void assertAllEquals(String label, Value expectedValue, ValueList values) {
97+
for (int i = 0; i < values.size(); i++) {
98+
// NOTE: Uses fUML-specific Value::equals method.
99+
assertTrue(label + "value[" + i + "]", values.get(i).equals(expectedValue));
100+
}
101+
}
102+
78103
public static void assertEquals(Object exp, Object was) {
79104
if (exp instanceof Object[] && was instanceof Object[])
80105
assertEqualsArray((Object[]) exp, (Object[]) was);

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/BuiltInTest.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,10 @@
11
package org.modeldriven.fuml.test.builtin;
22

3-
import java.io.ByteArrayOutputStream;
4-
import java.io.IOException;
5-
import java.io.InputStream;
6-
import java.io.StringWriter;
7-
import java.util.ArrayList;
8-
import java.util.Arrays;
9-
import java.util.Hashtable;
10-
import java.util.Iterator;
11-
12-
import javax.management.MBeanServerConnection;
13-
import javax.naming.Context;
14-
import javax.naming.InitialContext;
15-
import javax.naming.NamingException;
16-
17-
import junit.framework.TestCase;
18-
193
import org.apache.commons.logging.Log;
204
import org.apache.commons.logging.LogFactory;
215
import org.modeldriven.fuml.test.FUMLTest;
226
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
237

24-
import fUML.Debug;
258
import fUML.Semantics.Classes.Kernel.ExtensionalValueList;
269
import fUML.Syntax.Classes.Kernel.Classifier;
2710
import fUML.Syntax.Classes.Kernel.Element;

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/ConditionalNodeTestCase.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import org.apache.commons.logging.Log;
44
import org.apache.commons.logging.LogFactory;
55
import org.modeldriven.fuml.test.FUMLTestSetup;
6-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
76

7+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList;
88
import junit.framework.Test;
99

1010
/**
@@ -22,8 +22,14 @@ public void setUp() throws Exception {
2222

2323
public void testConditionalNode() throws Exception {
2424
log.info("testConditionalNode");
25-
initTestEnv.testSuite.testConditionalNode();
25+
ParameterValueList output = initTestEnv.testSuite.testConditionalNode();
2626
log.info("done");
27+
28+
assertNotNull(output);
29+
assertEquals("output.size()", 3, output.size());
30+
assertIntegerValues("ConditionalNodeTester_1.output", output.get(0), 0);
31+
assertIntegerValues("ConditionalNodeTester_2.output", output.get(1), 1);
32+
assertIntegerValues("ConditionalNodeTester_3.output", output.get(2), 2);
2733
}
2834

2935
}

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/ExpansionRegionTestCase.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import org.apache.commons.logging.Log;
44
import org.apache.commons.logging.LogFactory;
55
import org.modeldriven.fuml.test.FUMLTestSetup;
6-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
76

7+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList;
88
import junit.framework.Test;
99

1010
/**
@@ -22,8 +22,17 @@ public void setUp() throws Exception {
2222

2323
public void testExpansionRegion() throws Exception {
2424
log.info("testExpansionRegion");
25-
initTestEnv.testSuite.testExpansionRegion();
25+
ParameterValueList output = initTestEnv.testSuite.testExpansionRegion();
2626
log.info("done");
27+
28+
assertNotNull(output);
29+
assertEquals("output.size()", 6, output.size());
30+
assertIntegerValues("ExpansionRegionTester_0.list", output.get(0));
31+
assertIntegerValues("ExpansionRegionTester_0.list*10", output.get(1));
32+
assertIntegerValues("ExpansionRegionTester_1.list", output.get(2), 1);
33+
assertIntegerValues("ExpansionRegionTester_1.list*10", output.get(3), 10);
34+
assertIntegerValues("ExpansionRegionTester_2.list", output.get(4), 1, 2);
35+
assertIntegerValues("ExpansionRegionTester_2.list*10", output.get(5), 10, 20);
2736
}
2837

2938
}

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/FireAgainTestCase.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package org.modeldriven.fuml.test.builtin;
22

3-
4-
53
import org.apache.commons.logging.Log;
64
import org.apache.commons.logging.LogFactory;
75
import org.modeldriven.fuml.test.FUMLTestSetup;
8-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
96

7+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList;
108
import junit.framework.Test;
119

1210
/**
@@ -24,8 +22,12 @@ public void setUp() throws Exception {
2422

2523
public void testFireAgain() throws Exception {
2624
log.info("testFireAgain");
27-
initTestEnv.testSuite.testFireAgain();
25+
ParameterValueList output = initTestEnv.testSuite.testFireAgain();
2826
log.info("done");
27+
28+
assertNotNull(output);
29+
assertEquals("output.size()", 1, output.size());
30+
assertIntegerValues("FireAgainTester.output", output.get(0), 1, 2);
2931
}
3032

3133
}

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/HelloWorldTestCase.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
package org.modeldriven.fuml.test.builtin;
22

3-
4-
53
import org.apache.commons.logging.Log;
64
import org.apache.commons.logging.LogFactory;
75
import org.modeldriven.fuml.test.FUMLTestSetup;
8-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
9-
106
import fUML.Semantics.Classes.Kernel.ExtensionalValueList;
11-
import fUML.Syntax.Actions.BasicActions.OutputPin;
127
import fUML.Syntax.Actions.IntermediateActions.ValueSpecificationAction;
138
import fUML.Syntax.Activities.IntermediateActivities.Activity;
149
import fUML.Syntax.Classes.Kernel.Element;
1510
import fUML.Syntax.Classes.Kernel.LiteralString;
16-
import fUML.Syntax.Classes.Kernel.ValueSpecification;
1711
import junit.framework.Test;
1812

1913
/**
@@ -34,11 +28,7 @@ public void testHelloWorld() throws Exception {
3428
log.info("testHelloWorld");
3529
initTestEnv.testSuite.testHelloWorld();
3630

37-
//initTestEnv.environment.printElements();
38-
//initTestEnv.environment.printExtent(
39-
// "UnlimitedNatural");
40-
41-
// ensure standard output channel has 1 instance
31+
// ensure standard output channel has 1 instance
4232
ExtensionalValueList extent = findExtent("StandardOutputChannel");
4333
assertTrue(extent != null);
4434
assertTrue(extent.size() == 1);

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/IsClassifiedTestCase.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
package org.modeldriven.fuml.test.builtin;
22

3-
4-
53
import org.apache.commons.logging.Log;
64
import org.apache.commons.logging.LogFactory;
75
import org.modeldriven.fuml.test.FUMLTestSetup;
8-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
96

10-
import fUML.Syntax.Activities.IntermediateActivities.Activity;
11-
import fUML.Syntax.Classes.Kernel.Element;
12-
import fUML.Syntax.CommonBehaviors.Communications.Signal;
7+
import fUML.Semantics.Classes.Kernel.BooleanValue;
8+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList;
139
import junit.framework.Test;
1410

1511
/**
@@ -28,9 +24,16 @@ public void setUp() throws Exception {
2824

2925
public void testIsClassified() throws Exception {
3026
log.info("testIsClassified");
31-
initTestEnv.testSuite.testIsClassified();
32-
27+
ParameterValueList output = initTestEnv.testSuite.testIsClassified();
3328
log.info("done");
29+
30+
assertNotNull(output);
31+
assertEquals("output.size()", 1, output.size());
32+
assertEquals("TestIsSignal.output: values.size()", 1, output.get(0).values.size());
33+
assertTrue("TestIsSignal.output: value instanceof BooleanValue",
34+
output.get(0).values.get(0) instanceof BooleanValue);
35+
assertTrue("TestIsSignal.output: value",
36+
((BooleanValue)output.get(0).values.get(0)).value);
3437
}
3538

3639
}

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/LinkCreatorTestCase.java

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package org.modeldriven.fuml.test.builtin;
22

3-
4-
53
import org.apache.commons.logging.Log;
64
import org.apache.commons.logging.LogFactory;
75
import org.modeldriven.fuml.test.FUMLTestSetup;
8-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
96

7+
import fUML.Semantics.Classes.Kernel.ExtensionalValue;
8+
import fUML.Semantics.Classes.Kernel.ExtensionalValueList;
9+
import fUML.Semantics.Classes.Kernel.FeatureValue;
10+
import fUML.Semantics.Classes.Kernel.Value;
11+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList;
12+
import fUML.Syntax.Classes.Kernel.Classifier;
1013
import junit.framework.Test;
1114

1215
/**
@@ -20,12 +23,50 @@ public static Test suite() {
2023
}
2124

2225
public void setUp() throws Exception {
26+
initTestEnv.environment.locus.extensionalValues.clear();
2327
}
2428

2529
public void testLinkCreator() throws Exception {
2630
log.info("testLinkCreator");
27-
initTestEnv.testSuite.testLinkCreator();
31+
ParameterValueList output = initTestEnv.testSuite.testLinkCreator();
2832
log.info("done");
33+
34+
assertNotNull(output);
35+
assertEquals("output.size()", 2, output.size());
36+
assertEquals("output[0].values.size()", 1, output.get(0).values.size());
37+
assertEquals("output[1].values.size()", 1, output.get(1).values.size());
38+
39+
Value output1 = output.get(0).values.get(0);
40+
Value output2 = output.get(1).values.get(0);
41+
42+
ExtensionalValueList extent = initTestEnv.environment.locus.getExtent(
43+
(Classifier)initTestEnv.environment.getElement("AB"));
44+
45+
assertEquals("extent.size()", 2, extent.size());
46+
47+
ExtensionalValue link1 = extent.get(0);
48+
assertEquals("link1.featureValues.size()", 2, link1.getFeatureValues().size());
49+
FeatureValue featureValue1a = link1.getFeatureValues().get(0);
50+
assertEquals("featureValue1a.values.size()", 1, featureValue1a.values.size());
51+
FeatureValue featureValue1b = link1.getFeatureValues().get(1);
52+
assertEquals("featureValue1b.values.size()", 1, featureValue1b.values.size());
53+
54+
ExtensionalValue link2 = extent.get(1);
55+
assertEquals("link2.featureValues.size()", 2, link2.getFeatureValues().size());
56+
FeatureValue featureValue2a = link2.getFeatureValues().get(0);
57+
assertEquals("featureValue2a.values.size()", 1, featureValue2a.values.size());
58+
FeatureValue featureValue2b = link2.getFeatureValues().get(1);
59+
assertEquals("featureValue2b.values.size()", 1, featureValue2b.values.size());
60+
61+
Value value1a = featureValue1a.values.get(0);
62+
Value value2a = featureValue2a.values.get(0);
63+
assertSame("value1a", output1, value1a);
64+
assertTrue("value1a.equals(value2a)", value1a.equals(value2a));
65+
66+
Value value1b = featureValue1b.values.get(0);
67+
Value value2b = featureValue2b.values.get(0);
68+
assertSame("value1b", output2, value1b);
69+
assertFalse("!value1b.equals(value2b)", value1b.equals(value2b));
2970
}
3071

3172
}

org.modeldriven.fuml/src/test/java/org/modeldriven/fuml/test/builtin/LinkDestroyerTestCase.java

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package org.modeldriven.fuml.test.builtin;
22

3-
4-
53
import org.apache.commons.logging.Log;
64
import org.apache.commons.logging.LogFactory;
75
import org.modeldriven.fuml.test.FUMLTestSetup;
8-
import org.modeldriven.fuml.test.builtin.environment.InitTestEnvironment;
96

7+
import fUML.Semantics.Classes.Kernel.ExtensionalValue;
8+
import fUML.Semantics.Classes.Kernel.ExtensionalValueList;
9+
import fUML.Semantics.Classes.Kernel.FeatureValue;
10+
import fUML.Semantics.Classes.Kernel.Value;
11+
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList;
12+
import fUML.Syntax.Classes.Kernel.Classifier;
1013
import junit.framework.Test;
1114

1215
/**
@@ -20,12 +23,37 @@ public static Test suite() {
2023
}
2124

2225
public void setUp() throws Exception {
26+
initTestEnv.environment.locus.extensionalValues.clear();
2327
}
2428

2529
public void testLinkDestroyer() throws Exception {
2630
log.info("testLinkDestroyer");
27-
initTestEnv.testSuite.testLinkDestroyer();
31+
ParameterValueList output = initTestEnv.testSuite.testLinkDestroyer();
2832
log.info("done");
33+
34+
assertNotNull(output);
35+
assertEquals("output.size()", 2, output.size());
36+
assertEquals("output[0].values.size()", 1, output.get(0).values.size());
37+
assertEquals("output[1].values.size()", 1, output.get(1).values.size());
38+
39+
Value output1 = output.get(0).values.get(0);
40+
Value output2 = output.get(1).values.get(0);
41+
42+
ExtensionalValueList extent = initTestEnv.environment.locus.getExtent(
43+
(Classifier)initTestEnv.environment.getElement("AB"));
44+
45+
assertEquals("extent.size()", 1, extent.size());
46+
47+
ExtensionalValue link = extent.get(0);
48+
assertEquals("link.featureValues.size()", 2, link.getFeatureValues().size());
49+
FeatureValue featureValueA = link.getFeatureValues().get(0);
50+
assertEquals("featureValueA.values.size()", 1, featureValueA.values.size());
51+
Value valueA = featureValueA.values.get(0);
52+
assertSame("valueA", output1, valueA);
53+
FeatureValue featureValueB = link.getFeatureValues().get(1);
54+
assertEquals("featureValueB.values.size()", 1, featureValueB.values.size());
55+
Value valueB = featureValueB.values.get(0);
56+
assertNotSame("valueB", output2, valueB);
2957
}
3058

3159
}

0 commit comments

Comments
 (0)