Package: ExecutableSpecTestHandler

ExecutableSpecTestHandler

nameinstructionbranchcomplexitylinemethod
ExecutableSpecTestHandler(Release, Dialect)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
getFullyQualifiedEntry(String)
M: 17 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
getJavaEntry()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getVdmEntry()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
interpretVdm(File)
M: 13 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
toFullName(String, String)
M: 15 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
writeMainClass(File, String)
M: 8 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * #%~
3: * VDM Code Generator
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.codegen.tests.exec.util.testhandlers;
23:
24: import java.io.File;
25: import java.io.IOException;
26:
27: import org.overture.ast.lex.Dialect;
28: import org.overture.codegen.tests.exec.util.ExecutionResult;
29: import org.overture.config.Release;
30: import org.overture.config.Settings;
31: import org.overture.interpreter.util.InterpreterUtil;
32: import org.overture.interpreter.values.Value;
33:
34: public class ExecutableSpecTestHandler extends EntryBasedTestHandler
35: {
36:         public ExecutableSpecTestHandler(Release release, Dialect dialect)
37:         {
38:                 super(release, dialect);
39:         }
40:
41:         public void writeMainClass(File parent, String rootPackage)
42:                         throws IOException
43:         {
44:                 injectArgIntoMainClassFile(parent, getFullyQualifiedEntry(rootPackage), rootPackage);
45:         }
46:
47:         public String getFullyQualifiedEntry(String rootPackage)
48:         {
49:•                return rootPackage != null ? rootPackage + "." + getJavaEntry()
50:                                 : getJavaEntry();
51:         }
52:
53:         public String toFullName(String rootPackage, String relativeName)
54:         {
55:•                return rootPackage != null ? rootPackage + "." + relativeName
56:                                 : relativeName;
57:         }
58:
59:         @Override
60:         public String getJavaEntry()
61:         {
62:                 return "Entry.Run()";
63:         }
64:
65:         @Override
66:         public String getVdmEntry()
67:         {
68:                 return "Entry`Run()";
69:         }
70:
71:         @Override
72:         public ExecutionResult interpretVdm(File intputFile) throws Exception
73:         {
74:                 Value val = InterpreterUtil.interpret(Settings.dialect, getVdmEntry(), intputFile);
75:                 return new ExecutionResult(val.toString(), val);
76:         }
77: }