From 61c6de9fe533eccef25386e48db30e9a4d482313 Mon Sep 17 00:00:00 2001
From: Maximilian Wilhelm <max@sdn.clinic>
Date: Mon, 25 Jun 2018 00:11:43 +0200
Subject: [PATCH] Add more tests for contributing ASNs.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
---
 routingtable/contributing_asn_list_test.go | 29 ++++++++++++++++++----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/routingtable/contributing_asn_list_test.go b/routingtable/contributing_asn_list_test.go
index efc3f2ae..6387b18b 100644
--- a/routingtable/contributing_asn_list_test.go
+++ b/routingtable/contributing_asn_list_test.go
@@ -24,7 +24,7 @@ func TestFancy(t *testing.T) {
 		{
 			runCmd: func() { c.Add(41981) },
 			expect: func() bool { return c.IsContributingASN(41981) },
-			msg:    "AS41981 should be contributing",
+			msg:    "AS41981 should be contributing.",
 		},
 		{
 			runCmd: func() { c.Remove(41981) },
@@ -36,30 +36,49 @@ func TestFancy(t *testing.T) {
 		{
 			runCmd: func() { c.Add(41981) },
 			expect: func() bool { return c.IsContributingASN(41981) },
-			msg:    "AS41981 should be contributing",
+			msg:    "AS41981 should be contributing.",
 		},
 		{
 			runCmd: func() { c.Add(201701) },
 			expect: func() bool { return c.IsContributingASN(41981) },
-			msg:    "AS201701 should be contributing",
+			msg:    "AS201701 should be contributing.",
 		},
 
 		// Add AS41981 2nd time
 		{
 			runCmd: func() { c.Add(41981) },
 			expect: func() bool { return c.IsContributingASN(41981) },
-			msg:    "AS41981 should be still contributing",
+			msg:    "AS41981 should be still contributing.",
 		},
 		{
 			runCmd: func() {},
 			expect: func() bool { return c.contributingASNs[0].asn == 41981 },
-			msg:    "AS41981 is first ASN in list",
+			msg:    "AS41981 is first ASN in list.",
 		},
 		{
 			runCmd: func() { fmt.Printf("%+v", c.contributingASNs) },
 			expect: func() bool { return c.contributingASNs[0].count == 2 },
 			msg:    "AS41981 should be present twice.",
 		},
+
+		// Remove 2nd AS41981
+		{
+			runCmd: func() { c.Remove(41981) },
+			expect: func() bool { return c.IsContributingASN(41981) },
+			msg:    "AS41981 should still be contributing.",
+		},
+		{
+			runCmd: func() {},
+			expect: func() bool { return c.contributingASNs[0].count == 1 },
+			msg:    "S41981 should be present once.",
+		},
+
+		// Remove AS201701
+		{
+			runCmd: func() { c.Remove(201701) },
+			expect: func() bool { return !c.IsContributingASN(201701) },
+			msg:    "AS201701 shouldn't be contributing no more.",
+		},
 	}
 
 	for i, test := range tests {
-- 
GitLab