/
NativeTests.java
128 lines (113 loc) · 4.18 KB
/
NativeTests.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package org.overture.codegen.vdm2c;
import java.io.File;
import java.io.IOException;
import org.junit.Test;
import org.overture.codegen.vdm2c.CMakeUtil.CMakeGenerateException;
import org.overture.test.framework.ConditionalIgnoreMethodRule.ConditionalIgnore;
public class NativeTests extends NativeTestBase
{
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionForLoop() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionForLoop.vdmrt"));
compileAndTest(new File("src/test/resources/native/forloop/ExpressionsForloop_Tests.cpp".replace('/', File.separatorChar)));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionSeq() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionSeq.vdmrt"));
compileAndTest(new File("src/test/resources/native/MethodNameMap.h".replace('/', File.separatorChar)), new File("src/test/resources/native/seq/ExpressionsSeq_Tests.cpp".replace('/', File.separatorChar)));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionLet() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionLet.vdmrt"));
compileAndTest(getTestCppFile("let/ExpressionsLet_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionBoolean() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionBoolean.vdmrt"));
compileAndTest(getTestCppFile("boolean/ExpressionsBoolean_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionNumeric() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionNumeric.vdmrt"));
compileAndTest(getTestCppFile("numeric/ExpressionsNumeric_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionSetForCGTesting() throws IOException,
InterruptedException, CMakeGenerateException
{
generate(getPath("expressions/ExpressionSetForCGTesting.vdmrt"));
compileAndTest(getTestCppFile("set/ExpressionsSetForCGTesting_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionCases() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionCases.vdmrt"));
compileAndTest(getTestCppFile("cases/ExpressionsCases_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void RemoveRTConstructs() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/RTConstructs.vdmrt"));
compileAndTest(getTestCppFile("rt/RTConstructs_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionQuote() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionQuote.vdmrt"));
compileAndTest();
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void SubclassResponsibility() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("classes/SubclassResponsibility.vdmrt"));
compileAndTest(getTestCppFile("classes/ClassSubclassResponsibility_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void OtherIOLib() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("other/IOLib.vdmrt"), getPath("lib/IO.vdmrt"));
compileAndTest(getTestCppFile("classes/ClassIO_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void OtherIgnoreVDMUnit() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("other/VDMUnitTest.vdmrt"), getPath("lib/VDMUnit.vdmrt"), getPath("lib/IO.vdmrt"));
compileAndTest(getTestCppFile("other/IgnoreVDMUnit_Tests.cpp"));
}
@ConditionalIgnore(condition = HasVdmLib.class)
@Test
public void ExpressionRecord() throws IOException, InterruptedException,
CMakeGenerateException
{
generate(getPath("expressions/ExpressionRecord.vdmrt"));
compileAndTest();
}
}