/trunk/Examples/test-suite/go/director_finalizer_runme.go
Go | 37 lines | 26 code | 11 blank | 0 comment | 6 complexity | 87d1490680d6ecbbecc1c3a15e2ce973 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- package main
- import . "./director_finalizer"
- type MyFoo struct{} // From Foo
- func DeleteMyFoo(p Foo) {
- p.OrStatus(2)
- DeleteFoo(p)
- }
- func main() {
- ResetStatus()
- a := NewDirectorFoo(&MyFoo{})
- DeleteMyFoo(a)
- if GetStatus() != 3 {
- panic(0)
- }
- ResetStatus()
- a = NewDirectorFoo(&MyFoo{})
- Launder(a)
- if GetStatus() != 0 {
- panic(0)
- }
- DeleteMyFoo(a)
- if GetStatus() != 3 {
- panic(0)
- }
- ResetStatus()
- }