From 287a5eb66abc517c5ae7bad6a19bc92211793eb5 Mon Sep 17 00:00:00 2001 From: Chris Marchesi Date: Tue, 15 Aug 2017 21:56:01 -0700 Subject: [PATCH] helper/schema: More tests for Set.HashEqual Just to make sure equality on outer and inner values does not affect anything. --- helper/schema/set_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/helper/schema/set_test.go b/helper/schema/set_test.go index 5e98040a4e33..edeeb37a6ee8 100644 --- a/helper/schema/set_test.go +++ b/helper/schema/set_test.go @@ -162,8 +162,18 @@ func TestHashEqual(t *testing.T) { "bar": "qux", "nested": NewSet(HashResource(nested), []interface{}{n2}), } + r3 := map[string]interface{}{ + "bar": "baz", + "nested": NewSet(HashResource(nested), []interface{}{n2}), + } + r4 := map[string]interface{}{ + "bar": "qux", + "nested": NewSet(HashResource(nested), []interface{}{n1}), + } s1 := NewSet(HashResource(root), []interface{}{r1}) s2 := NewSet(HashResource(root), []interface{}{r2}) + s3 := NewSet(HashResource(root), []interface{}{r3}) + s4 := NewSet(HashResource(root), []interface{}{r4}) cases := []struct { name string @@ -183,6 +193,18 @@ func TestHashEqual(t *testing.T) { compare: s2, expected: false, }, + { + name: "outer equal, should still not be equal", + set: s1, + compare: s3, + expected: false, + }, + { + name: "inner equal, should still not be equal", + set: s1, + compare: s4, + expected: false, + }, } for _, tc := range cases { t.Run(tc.name, func(t *testing.T) {