Bladeren bron

add test for the ring methods

Chris Bannister 10 jaren geleden
bovenliggende
commit
924a44b15a
1 gewijzigde bestanden met toevoegingen van 35 en 0 verwijderingen
  1. 35 0
      ring_test.go

+ 35 - 0
ring_test.go

@@ -0,0 +1,35 @@
+package gocql
+
+import "testing"
+
+func TestRing_AddHostIfMissing_Missing(t *testing.T) {
+	ring := &ring{}
+
+	host := &HostInfo{peer: "test1"}
+	h1, ok := ring.addHostIfMissing(host)
+	if ok {
+		t.Fatal("host was reported as already existing")
+	} else if !h1.Equal(host) {
+		t.Fatalf("hosts not equal that are returned %v != %v", h1, host)
+	} else if h1 != host {
+		t.Fatalf("returned host same pointer: %p != %p", h1, host)
+	}
+}
+
+func TestRing_AddHostIfMissing_Existing(t *testing.T) {
+	ring := &ring{}
+
+	host := &HostInfo{peer: "test1"}
+	ring.addHostIfMissing(host)
+
+	h2 := &HostInfo{peer: "test1"}
+
+	h1, ok := ring.addHostIfMissing(h2)
+	if !ok {
+		t.Fatal("host was not reported as already existing")
+	} else if !h1.Equal(host) {
+		t.Fatalf("hosts not equal that are returned %v != %v", h1, host)
+	} else if h1 != host {
+		t.Fatalf("returned host same pointer: %p != %p", h1, host)
+	}
+}