PageRenderTime 10ms CodeModel.GetById 2ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Examples/test-suite/go/cpp_namespace_runme.go

#
Go | 57 lines | 42 code | 14 blank | 1 comment | 20 complexity | fd040a2dce73db797cff8f35fc508eb7 MD5 | raw file
 1// Note: This example assumes that namespaces are flattened
 2package main
 3
 4import "./cpp_namespace"
 5
 6func main() {
 7	n := cpp_namespace.Fact(4)
 8	if n != 24 {
 9		panic("Bad return value!")
10	}
11
12	if cpp_namespace.GetFoo() != 42 {
13		panic("Bad variable value!")
14	}
15
16	t := cpp_namespace.NewTest()
17	if t.Method() != "Test::method" {
18		panic("Bad method return value!")
19	}
20
21	if cpp_namespace.Do_method(t) != "Test::method" {
22		panic("Bad return value!")
23	}
24
25	if cpp_namespace.Do_method2(t) != "Test::method" {
26		panic("Bad return value!")
27	}
28
29	cpp_namespace.Weird("hello", 4)
30
31	cpp_namespace.DeleteTest(t)
32
33	t2 := cpp_namespace.NewTest2()
34	t3 := cpp_namespace.NewTest3()
35	t4 := cpp_namespace.NewTest4()
36	t5 := cpp_namespace.NewTest5()
37
38	if cpp_namespace.Foo3(42) != 42 {
39		panic("Bad return value!")
40	}
41
42	if cpp_namespace.Do_method3(t2, 40) != "Test2::method" {
43		panic("Bad return value!")
44	}
45
46	if cpp_namespace.Do_method3(t3, 40) != "Test3::method" {
47		panic("Bad return value!")
48	}
49
50	if cpp_namespace.Do_method3(t4, 40) != "Test4::method" {
51		panic("Bad return value!")
52	}
53
54	if cpp_namespace.Do_method3(t5, 40) != "Test5::method" {
55		panic("Bad return value!")
56	}
57}