/trunk/Examples/test-suite/go/director_finalizer_runme.go
# · Go · 37 lines · 26 code · 11 blank · 0 comment · 6 complexity · 87d1490680d6ecbbecc1c3a15e2ce973 MD5 · raw file
- 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()
- }