package engine

import (
	"reflect"
	"testing"
)

func TestOwnershipInterface(t *testing.T) {
	pointerNil, interfaceNil := TypedNilExample()
	if !pointerNil || interfaceNil {
		t.Fatal("unexpected interface model")
	}
	t.Log("pointer nil:", pointerNil, "interface nil:", interfaceNil)
}
func TestOwnershipSlice(t *testing.T) {
	original, view, copied := SliceOwnershipExample()
	if !reflect.DeepEqual(original, []int{99, 20, 30}) || !reflect.DeepEqual(view, []int{99, 20}) || !reflect.DeepEqual(copied, []int{10, 20}) {
		t.Fatal("unexpected slice ownership")
	}
	t.Log("original:", original, "view:", view, "copied:", copied)
}
