/tags/rel-2.0.2/Examples/test-suite/go/friends_runme.go
# · Go · 50 lines · 37 code · 10 blank · 3 comment · 18 complexity · e55f9e8473a639b9832755fc199640ed MD5 · raw file
- package main
- import "./friends"
- func main() {
- a := friends.NewA(2)
- if friends.Get_val1(a).(int) != 2 {
- panic(0)
- }
- if friends.Get_val2(a) != 4 {
- panic(0)
- }
- if friends.Get_val3(a) != 6 {
- panic(0)
- }
- // nice overload working fine
- if friends.Get_val1(1, 2, 3).(int) != 1 {
- panic(0)
- }
- b := friends.NewB(3)
- // David's case
- if friends.Mix(a, b) != 5 {
- panic(0)
- }
- di := friends.NewD_d(2)
- dd := friends.NewD_d(3.3)
- // incredible template overloading working just fine
- if friends.Get_val1(di).(float64) != 2 {
- panic(0)
- }
- if friends.Get_val1(dd).(float64) != 3.3 {
- panic(0)
- }
- friends.Set(di, 4.0)
- friends.Set(dd, 1.3)
- if friends.Get_val1(di).(float64) != 4 {
- panic(0)
- }
- if friends.Get_val1(dd).(float64) != 1.3 {
- panic(0)
- }
- }