/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
  2. package main
  3. import "./cpp_namespace"
  4. func main() {
  5. n := cpp_namespace.Fact(4)
  6. if n != 24 {
  7. panic("Bad return value!")
  8. }
  9. if cpp_namespace.GetFoo() != 42 {
  10. panic("Bad variable value!")
  11. }
  12. t := cpp_namespace.NewTest()
  13. if t.Method() != "Test::method" {
  14. panic("Bad method return value!")
  15. }
  16. if cpp_namespace.Do_method(t) != "Test::method" {
  17. panic("Bad return value!")
  18. }
  19. if cpp_namespace.Do_method2(t) != "Test::method" {
  20. panic("Bad return value!")
  21. }
  22. cpp_namespace.Weird("hello", 4)
  23. cpp_namespace.DeleteTest(t)
  24. t2 := cpp_namespace.NewTest2()
  25. t3 := cpp_namespace.NewTest3()
  26. t4 := cpp_namespace.NewTest4()
  27. t5 := cpp_namespace.NewTest5()
  28. if cpp_namespace.Foo3(42) != 42 {
  29. panic("Bad return value!")
  30. }
  31. if cpp_namespace.Do_method3(t2, 40) != "Test2::method" {
  32. panic("Bad return value!")
  33. }
  34. if cpp_namespace.Do_method3(t3, 40) != "Test3::method" {
  35. panic("Bad return value!")
  36. }
  37. if cpp_namespace.Do_method3(t4, 40) != "Test4::method" {
  38. panic("Bad return value!")
  39. }
  40. if cpp_namespace.Do_method3(t5, 40) != "Test5::method" {
  41. panic("Bad return value!")
  42. }
  43. }