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  }