owner_pass_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package owner
  2. import (
  3. "testing"
  4. )
  5. type tester0 struct {
  6. t *testing.T
  7. owner *LOwner
  8. op *OwnerPass
  9. }
  10. func TestOwnerPass(t *testing.T) {
  11. sf := &tester0{
  12. t: t,
  13. owner: LetOwner(1, "test_owner_dest"),
  14. op: nil,
  15. }
  16. sf.mut()
  17. sf.move()
  18. sf.check()
  19. }
  20. // Проверка владения
  21. func (sf *tester0) check() {
  22. sf.t.Log("check")
  23. defer func() {
  24. if _panic := recover(); _panic == nil {
  25. sf.t.Fatalf("check(): panic==nil")
  26. }
  27. }()
  28. sf.op.CheckOwner()
  29. }
  30. // Перемещение владельца
  31. func (sf *tester0) move() {
  32. sf.t.Log("move")
  33. { // dest
  34. ownerDest := sf.op.Owner()
  35. if ownerDest.Name() != "test_owner_dest" {
  36. sf.t.Fatalf("check(): ownerDest(%v) != \"test_owner_dest\"",
  37. ownerDest.Name())
  38. }
  39. }
  40. owner := sf.op.Move(LetOwner(2, "test_owner_cur"))
  41. if owner.String() == sf.op.String() {
  42. sf.t.Fatalf("move(): ownerOld==ownerNew")
  43. }
  44. {// cur
  45. ownerCur := owner.OwnerCur()
  46. if ownerCur.Name() != "test_owner_cur" {
  47. sf.t.Fatalf("check(): ownerCur(%v) != \"test_owner_cur\"",
  48. ownerCur.Name())
  49. }
  50. }
  51. }
  52. // Создаёт объект паспорта владельца
  53. func (sf *tester0) mut() {
  54. sf.t.Log("mut")
  55. sf.op = &OwnerPass{
  56. ownerDest: sf.owner,
  57. ownerCur: sf.owner,
  58. }
  59. _ = sf.op.String()
  60. }