From a128fc35346783ac10a72b400c8dcb357b1ac160 Mon Sep 17 00:00:00 2001 From: Guangwen Feng Date: Tue, 3 Mar 2020 22:17:54 +0800 Subject: [PATCH] Add unit tests in labels.go (#6921) * Add unit test for func Equal in labels.go * Add unit test for func Compare in labels.go Signed-off-by: Guangwen Feng --- pkg/labels/labels_test.go | 199 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) diff --git a/pkg/labels/labels_test.go b/pkg/labels/labels_test.go index 1375eadd3..44429ea03 100644 --- a/pkg/labels/labels_test.go +++ b/pkg/labels/labels_test.go @@ -254,3 +254,202 @@ func TestLabels_WithoutEmpty(t *testing.T) { testutil.Equals(t, test.expected, got, "unexpected labelset for test case %d", i) } } + +func TestLabels_Equal(t *testing.T) { + labels := Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "222", + }, + } + + tests := []struct { + compared Labels + expected bool + }{ + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "222", + }, + { + Name: "ccc", + Value: "333", + }, + }, + expected: false, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bar", + Value: "222", + }, + }, + expected: false, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "233", + }, + }, + expected: false, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "222", + }, + }, + expected: true, + }, + } + + for i, test := range tests { + got := Equal(labels, test.compared) + testutil.Equals(t, test.expected, got, "unexpected comparison result for test case %d", i) + } +} + +func TestLabels_Compare(t *testing.T) { + labels := Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "222", + }, + } + + tests := []struct { + compared Labels + expected int + }{ + { + compared: Labels{ + { + Name: "aaa", + Value: "110", + }, + { + Name: "bbb", + Value: "222", + }, + }, + expected: 1, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "233", + }, + }, + expected: -1, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bar", + Value: "222", + }, + }, + expected: 1, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbc", + Value: "222", + }, + }, + expected: -1, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + }, + expected: 1, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "222", + }, + { + Name: "ccc", + Value: "333", + }, + { + Name: "ddd", + Value: "444", + }, + }, + expected: -2, + }, + { + compared: Labels{ + { + Name: "aaa", + Value: "111", + }, + { + Name: "bbb", + Value: "222", + }, + }, + expected: 0, + }, + } + + for i, test := range tests { + got := Compare(labels, test.compared) + testutil.Equals(t, test.expected, got, "unexpected comparison result for test case %d", i) + } +}