Răsfoiți Sursa

SVI Рабочее сохранение

SVI 15 ore în urmă
părinte
comite
3c5b9d3260
1 a modificat fișierele cu 17 adăugiri și 4 ștergeri
  1. 17 4
      v4/d0/defs/def_move/dev_move_test.go

+ 17 - 4
v4/d0/defs/def_move/dev_move_test.go

@@ -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)
 	}