PageRenderTime 43ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/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
  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. }