File: Success.hx

package info (click to toggle)
haxe 1%3A4.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 40,556 kB
  • sloc: ml: 125,171; ansic: 2,408; makefile: 436; java: 362; cs: 323; cpp: 318; python: 316; sh: 75; objc: 64; php: 39; xml: 30; javascript: 11
file content (27 lines) | stat: -rw-r--r-- 633 bytes parent folder | download | duplicates (4)
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
class Success {
	static var fail = false;

	static function main() {
		test('a', 'b', 's', [1, 2]);
		if(fail) Sys.exit(1);
	}

	static function test<T:String>(a:T, b:T, s:String, arr:Array<Int>) {
		check(true, a < b);
		check(true, a < s);
		check(true, s > a);
		check('sa', s + a);
		check('ab', a + b);
		check('as', a + s);
		check('sa', s + a);
		check('a[1,2]', a + arr);
		check('[1,2]a', arr + a);
	}

	static function check<T>(expected:T, actual:T, ?p:haxe.PosInfos) {
		if( expected != actual) {
			fail = true;
			Sys.stderr().writeString('${p.fileName}:${p.lineNumber}: $expected expected, but got $actual\n');
		}
	}
}