File: Simple.cpp

package info (click to toggle)
storm-lang 0.7.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,028 kB
  • sloc: ansic: 261,471; cpp: 140,432; sh: 14,891; perl: 9,846; python: 2,525; lisp: 2,504; asm: 860; makefile: 678; pascal: 70; java: 52; xml: 37; awk: 12
file content (44 lines) | stat: -rw-r--r-- 1,814 bytes parent folder | download | duplicates (3)
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
#include "stdafx.h"
#include "Fn.h"
#include "Compiler/Exception.h"

BEGIN_TEST(BasicSyntax, SimpleBS) {
	CHECK_RUNS(runFn<void>(S("tests.bs-simple.voidFn")));
	CHECK_RUNS(runFn<void>(S("tests.bs-simple.emptyVoidFn")));

	CHECK_EQ(runFn<Int>(S("tests.bs-simple.bar")), 3);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest"), 1), 3);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest"), 2), 4);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest"), 3), 5);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest2"), 3), 4);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest2"), 0), -1);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest3"), 0), 10);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest3"), 1), 20);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest4"), 0), 10);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest4"), 1), 20);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest5"), 1), 15);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.ifTest5"), 3), 14);

	CHECK_EQ(runFn<Int>(S("tests.bs-simple.assign"), 1), 2);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.while"), 10), 1024);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.for"), 10), 1024);

	CHECK_EQ(runFn<Int>(S("tests.bs-simple.createFoo")), 3);

	CHECK_EQ(runFn<Int>(S("tests.bs-simple.testCtor")), 20);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.testIntCtor")), 20);

	CHECK_ERROR(runFn<Int>(S("tests.bs-simple.forError"), 10), DebugError);
	CHECK_RUNS(runFn<void>(S("tests.bs-simple.forScope")));
	CHECK_RUNS(runFn<void>(S("tests.bs-simple.forScopeVal")));

} END_TEST

BEGIN_TEST(LoopTest, SimpleBS) {
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.loop1")), 1024);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.loop2")), 1023);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.loop3")), 1024);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.loop4")), 27);
	CHECK_EQ(runFn<Int>(S("tests.bs-simple.loop5")), 27);
} END_TEST