github.com/insolar/vanilla@v0.0.0-20201023172447-248fdf805322/args/is_nil_test.go (about) 1 // Copyright 2020 Insolar Network Ltd. 2 // All rights reserved. 3 // This material is licensed under the Insolar License version 1.0, 4 // available at https://github.com/insolar/assured-ledger/blob/master/LICENSE.md. 5 6 package args 7 8 import ( 9 "testing" 10 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestIsNil(t *testing.T) { 15 require.True(t, IsNil(nil)) 16 require.False(t, IsNil("test")) 17 18 var v testHolder 19 20 require.False(t, v.Get() == nil) 21 require.True(t, IsNil(v.Get())) 22 23 d := 0 24 v.value = &d 25 26 require.False(t, v.Get() == nil) 27 require.False(t, IsNil(v.Get())) 28 29 v.value = nil 30 31 require.False(t, v.Get() == nil) 32 require.True(t, IsNil(v.Get())) 33 } 34 35 type testHolder struct { 36 value *int 37 } 38 39 func (v testHolder) Get() interface{} { 40 return v.value 41 }