(t *testing.T)
| 100 | } |
| 101 | |
| 102 | func TestParameterSetEqual(t *testing.T) { |
| 103 | var Nil *ParameterSet |
| 104 | ps1 := NewParameterSet() |
| 105 | ps2 := NewParameterSet() |
| 106 | |
| 107 | // nil equals nil, and empty does not equal nil |
| 108 | assert.Assert(t, Nil.Equal(nil)) |
| 109 | assert.Assert(t, !Nil.Equal(ps1)) |
| 110 | assert.Assert(t, !ps1.Equal(nil)) |
| 111 | |
| 112 | // empty equals empty |
| 113 | assert.Assert(t, ps1.Equal(ps2)) |
| 114 | assert.Assert(t, ps2.Equal(ps1)) |
| 115 | |
| 116 | // different keys are not equal |
| 117 | ps1.Add("a", "b") |
| 118 | assert.Assert(t, !ps1.Equal(nil)) |
| 119 | assert.Assert(t, !Nil.Equal(ps1)) |
| 120 | assert.Assert(t, !ps1.Equal(ps2)) |
| 121 | assert.Assert(t, !ps2.Equal(ps1)) |
| 122 | |
| 123 | // different values are not equal |
| 124 | ps2.Add("a", "c") |
| 125 | assert.Assert(t, !ps1.Equal(ps2)) |
| 126 | assert.Assert(t, !ps2.Equal(ps1)) |
| 127 | |
| 128 | // normalized keys+values are equal |
| 129 | ps1.Add("A", "c") |
| 130 | assert.Assert(t, ps1.Equal(ps2)) |
| 131 | assert.Assert(t, ps2.Equal(ps1)) |
| 132 | |
| 133 | // [assert.DeepEqual] can only compare exported fields. |
| 134 | // When present, the `(T) Equal(T) bool` method is used instead. |
| 135 | // |
| 136 | // https://pkg.go.dev/github.com/google/go-cmp/cmp#Equal |
| 137 | t.Run("DeepEqual", func(t *testing.T) { |
| 138 | assert.DeepEqual(t, NewParameterSet(), NewParameterSet()) |
| 139 | }) |
| 140 | } |
nothing calls this directly
no test coverage detected