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

# · Go · 37 lines · 26 code · 11 blank · 0 comment · 6 complexity · 87d1490680d6ecbbecc1c3a15e2ce973 MD5 · raw file

  1. package main
  2. import . "./director_finalizer"
  3. type MyFoo struct{} // From Foo
  4. func DeleteMyFoo(p Foo) {
  5. p.OrStatus(2)
  6. DeleteFoo(p)
  7. }
  8. func main() {
  9. ResetStatus()
  10. a := NewDirectorFoo(&MyFoo{})
  11. DeleteMyFoo(a)
  12. if GetStatus() != 3 {
  13. panic(0)
  14. }
  15. ResetStatus()
  16. a = NewDirectorFoo(&MyFoo{})
  17. Launder(a)
  18. if GetStatus() != 0 {
  19. panic(0)
  20. }
  21. DeleteMyFoo(a)
  22. if GetStatus() != 3 {
  23. panic(0)
  24. }
  25. ResetStatus()
  26. }