aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/javascript/friends_runme.js
blob: 6913eb935309b957897de095a082cff383f70361 (plain)
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
var friends = require("friends");

a = new friends.A(2);

if (friends.get_val1(a) != 2) {
    throw new Error;
}
if (friends.get_val2(a) != 4) {
    throw new Error;
}
if (friends.get_val3(a) != 6) {
    throw new Error;
}

// nice overload working fine
if (friends.get_val1(1, 2, 3) != 1) {
    throw new Error;
}

b = new friends.B(3);

// David's case
if (friends.mix(a, b) != 5) {
    throw new Error;
}

di = new friends.D_i(2);
dd = new friends.D_d(3.3);

// incredible template overloading working just fine
if (friends.get_val1(di) != 2) {
    throw new Error;
}
if (friends.get_val1(dd) != 3.3) {
    throw new Error;
}

friends.set(di, 4);
friends.set(dd, 1.3);

if (friends.get_val1(di) != 4) {
    throw new Error;
}
if (friends.get_val1(dd) != 1.3) {
    throw new Error;
}

if (friends.chum_blah() != 1234) {
  throw new Error("failed");
}
if (friends.mate_blah() != 4321) {
  throw new Error("failed");
}