|
|
@@ -3,14 +3,13 @@ package def_move
|
|
|
import (
|
|
|
"testing"
|
|
|
|
|
|
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/def_spec_base"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
|
|
|
)
|
|
|
|
|
|
type tester struct {
|
|
|
t *testing.T
|
|
|
owner *owner.LOwner
|
|
|
- val *Move[def_spec_base.Num]
|
|
|
+ val *Move[int]
|
|
|
}
|
|
|
|
|
|
func TestMove(t *testing.T) {
|
|
|
@@ -19,13 +18,27 @@ func TestMove(t *testing.T) {
|
|
|
owner: owner.LetOwner(1, "test_owner"),
|
|
|
}
|
|
|
sf.new()
|
|
|
+ sf.newBad1()
|
|
|
+}
|
|
|
+
|
|
|
+// Попытка создать контейнер перемещения из nil
|
|
|
+func (sf *tester) newBad1() {
|
|
|
+ sf.t.Log("newBad1")
|
|
|
+ defer func() {
|
|
|
+ if _panic := recover(); _panic == nil {
|
|
|
+ sf.t.Fatalf("newBad1(): panic==nil")
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ // Объявляем указатель на структуру (или int), по дефолту он nil
|
|
|
+ var dummyPtr *int // значение равно nil, но тип равен *int
|
|
|
+ _ = NewMove(sf.owner, dummyPtr)
|
|
|
}
|
|
|
|
|
|
// Возвращает новый контейнер перемещения
|
|
|
func (sf *tester) new() {
|
|
|
sf.t.Log("new")
|
|
|
- val := NewMove(sf.owner, 7)
|
|
|
- _val := val.Move()
|
|
|
+ sf.val = NewMove(sf.owner, 7)
|
|
|
+ _val := sf.val.Move()
|
|
|
if _val != 7 {
|
|
|
sf.t.Fatalf("new(): val(%v)!=7", _val)
|
|
|
}
|