github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/neorpc/filters_test.go (about) 1 package neorpc 2 3 import ( 4 "testing" 5 6 "github.com/nspcc-dev/neo-go/pkg/util" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestBlockFilterCopy(t *testing.T) { 11 var bf, tf *BlockFilter 12 13 require.Nil(t, bf.Copy()) 14 15 bf = new(BlockFilter) 16 tf = bf.Copy() 17 require.Equal(t, bf, tf) 18 19 bf.Primary = new(byte) 20 *bf.Primary = 42 21 22 tf = bf.Copy() 23 require.Equal(t, bf, tf) 24 *bf.Primary = 100 25 require.NotEqual(t, bf, tf) 26 27 bf.Since = new(uint32) 28 *bf.Since = 42 29 30 tf = bf.Copy() 31 require.Equal(t, bf, tf) 32 *bf.Since = 100500 33 require.NotEqual(t, bf, tf) 34 35 bf.Till = new(uint32) 36 *bf.Till = 42 37 38 tf = bf.Copy() 39 require.Equal(t, bf, tf) 40 *bf.Till = 100500 41 require.NotEqual(t, bf, tf) 42 } 43 44 func TestTxFilterCopy(t *testing.T) { 45 var bf, tf *TxFilter 46 47 require.Nil(t, bf.Copy()) 48 49 bf = new(TxFilter) 50 tf = bf.Copy() 51 require.Equal(t, bf, tf) 52 53 bf.Sender = &util.Uint160{1, 2, 3} 54 55 tf = bf.Copy() 56 require.Equal(t, bf, tf) 57 *bf.Sender = util.Uint160{3, 2, 1} 58 require.NotEqual(t, bf, tf) 59 60 bf.Signer = &util.Uint160{1, 2, 3} 61 62 tf = bf.Copy() 63 require.Equal(t, bf, tf) 64 *bf.Signer = util.Uint160{3, 2, 1} 65 require.NotEqual(t, bf, tf) 66 } 67 68 func TestNotificationFilterCopy(t *testing.T) { 69 var bf, tf *NotificationFilter 70 71 require.Nil(t, bf.Copy()) 72 73 bf = new(NotificationFilter) 74 tf = bf.Copy() 75 require.Equal(t, bf, tf) 76 77 bf.Contract = &util.Uint160{1, 2, 3} 78 79 tf = bf.Copy() 80 require.Equal(t, bf, tf) 81 *bf.Contract = util.Uint160{3, 2, 1} 82 require.NotEqual(t, bf, tf) 83 84 bf.Name = new(string) 85 *bf.Name = "ololo" 86 87 tf = bf.Copy() 88 require.Equal(t, bf, tf) 89 *bf.Name = "azaza" 90 require.NotEqual(t, bf, tf) 91 } 92 93 func TestExecutionFilterCopy(t *testing.T) { 94 var bf, tf *ExecutionFilter 95 96 require.Nil(t, bf.Copy()) 97 98 bf = new(ExecutionFilter) 99 tf = bf.Copy() 100 require.Equal(t, bf, tf) 101 102 bf.State = new(string) 103 *bf.State = "ololo" 104 105 tf = bf.Copy() 106 require.Equal(t, bf, tf) 107 *bf.State = "azaza" 108 require.NotEqual(t, bf, tf) 109 110 bf.Container = &util.Uint256{1, 2, 3} 111 112 tf = bf.Copy() 113 require.Equal(t, bf, tf) 114 *bf.Container = util.Uint256{3, 2, 1} 115 require.NotEqual(t, bf, tf) 116 }