]> gitweb.michael.orlitzky.com - hath.git/blobdiff - src/Cidr.hs
Add type signatures to fix monomorphism restriction warnings (GHC 8).
[hath.git] / src / Cidr.hs
index 9cbf845365b574ba4302308557f88babf7659d5e..5c05ed15fb5aacffccd2a1c8c433e9a85ed22495 100644 (file)
@@ -294,23 +294,23 @@ test_enumerate =
   testCase desc $ actual @?= expected
   where
     desc = "192.168.0.240/30 is enumerated correctly"
-    oct1 = toEnum 192
-    oct2 = toEnum 168
-    oct3 = minBound
+    oct1 = toEnum 192 :: Octet
+    oct2 = toEnum 168 :: Octet
+    oct3 = minBound :: Octet
     mk_ip = IPv4Address oct1 oct2 oct3
     addr1 = mk_ip $ toEnum 240
     addr2 = mk_ip $ toEnum 241
     addr3 = mk_ip $ toEnum 242
     addr4 = mk_ip $ toEnum 243
     expected = [addr1, addr2, addr3, addr4]
-    actual = enumerate $ read "192.168.0.240/30"
+    actual = enumerate (read "192.168.0.240/30" :: Cidr)
 
 test_min_host1 :: TestTree
 test_min_host1 =
   testCase desc $ actual @?= expected
   where
     desc = "The minimum host in 10.0.0.0/24 is 10.0.0.0"
-    actual = show $ min_host (read "10.0.0.0/24")
+    actual = show $ min_host (read "10.0.0.0/24" :: Cidr)
     expected = "10.0.0.0"
 
 
@@ -319,7 +319,7 @@ test_max_host1 =
   testCase desc $ actual @?= expected
   where
     desc = "The maximum host in 10.0.0.0/24 is 10.0.0.255"
-    actual = show $ max_host (read "10.0.0.0/24")
+    actual = show $ max_host (read "10.0.0.0/24" :: Cidr)
     expected = "10.0.0.255"
 
 
@@ -337,8 +337,8 @@ test_contains1 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.1.0/23 contains 10.1.1.0/24"
-    cidr1 = read "10.1.1.0/23"
-    cidr2 = read "10.1.1.0/24"
+    cidr1 = read "10.1.1.0/23" :: Cidr
+    cidr2 = read "10.1.1.0/24" :: Cidr
     expected = True
     actual = cidr1 `contains` cidr2
 
@@ -348,7 +348,7 @@ test_contains2 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.1.0/23 contains itself"
-    cidr1 = read "10.1.1.0/23"
+    cidr1 = read "10.1.1.0/23" :: Cidr
     expected = True
     actual = cidr1 `contains` cidr1
 
@@ -358,8 +358,8 @@ test_contains_proper1 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.1.0/23 contains 10.1.1.0/24 properly"
-    cidr1 = read "10.1.1.0/23"
-    cidr2 = read "10.1.1.0/24"
+    cidr1 = read "10.1.1.0/23" :: Cidr
+    cidr2 = read "10.1.1.0/24" :: Cidr
     expected = True
     actual = cidr1 `contains_proper` cidr2
 
@@ -369,7 +369,7 @@ test_contains_proper2 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.1.0/23 does not contain itself properly"
-    cidr1 = read "10.1.1.0/23"
+    cidr1 = read "10.1.1.0/23" :: Cidr
     expected = False
     actual = cidr1 `contains_proper` cidr1
 
@@ -379,8 +379,8 @@ test_adjacent1 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.0.0/24 is adjacent to 10.1.1.0/24"
-    cidr1 = read "10.1.0.0/24"
-    cidr2 = read "10.1.1.0/24"
+    cidr1 = read "10.1.0.0/24" :: Cidr
+    cidr2 = read "10.1.1.0/24" :: Cidr
     expected = True
     actual = cidr1 `adjacent` cidr2
 
@@ -390,8 +390,8 @@ test_adjacent2 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.0.0/23 is not adjacent to 10.1.0.0/24"
-    cidr1 = read "10.1.0.0/23"
-    cidr2 = read "10.1.0.0/24"
+    cidr1 = read "10.1.0.0/23" :: Cidr
+    cidr2 = read "10.1.0.0/24" :: Cidr
     expected = False
     actual = cidr1 `adjacent` cidr2
 
@@ -401,8 +401,8 @@ test_adjacent3 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.0.0/24 is not adjacent to 10.2.5.0/24"
-    cidr1 = read "10.1.0.0/24"
-    cidr2 = read "10.2.5.0/24"
+    cidr1 = read "10.1.0.0/24" :: Cidr
+    cidr2 = read "10.2.5.0/24" :: Cidr
     expected = False
     actual = cidr1 `adjacent` cidr2
 
@@ -412,8 +412,8 @@ test_adjacent4 =
   testCase desc $ actual @?= expected
   where
     desc = "10.1.1.0/24 is not adjacent to 10.1.2.0/24"
-    cidr1 = read "10.1.1.0/24"
-    cidr2 = read "10.1.2.0/24"
+    cidr1 = read "10.1.1.0/24" :: Cidr
+    cidr2 = read "10.1.2.0/24" :: Cidr
     expected = False
     actual = cidr1 `adjacent` cidr2
 
@@ -422,9 +422,9 @@ test_combine_contained1 =
   testCase desc $ actual @?= expected
   where
     desc = "10.0.0.0/8, 10.1.0.0/16, and 10.1.1.0/24 combine to 10.0.0.0/8"
-    cidr1 = read "10.0.0.0/8"
-    cidr2 = read "10.1.0.0/16"
-    cidr3 = read "10.1.1.0/24"
+    cidr1 = read "10.0.0.0/8" :: Cidr
+    cidr2 = read "10.1.0.0/16" :: Cidr
+    cidr3 = read "10.1.1.0/24" :: Cidr
     test_cidrs = [cidr1, cidr2, cidr3]
     expected = [cidr1]
     actual = combine_contained test_cidrs
@@ -434,8 +434,8 @@ test_combine_contained2 =
   testCase desc $ actual @?= expected
   where
     desc = "192.168.3.0/23 does not contain 192.168.1.0/24"
-    cidr1 = read "192.168.3.0/23"
-    cidr2 = read "192.168.1.0/24"
+    cidr1 = read "192.168.3.0/23" :: Cidr
+    cidr2 = read "192.168.1.0/24" :: Cidr
     expected = [cidr1, cidr2]
     actual = combine_contained [cidr1, cidr2]
 
@@ -446,13 +446,13 @@ test_combine_all1 =
   where
     desc = "10.0.0.0/24 is adjacent to 10.0.1.0/24 "
            ++ "and 10.0.3.0/23 contains 10.0.2.0/24"
-    cidr1 = read "10.0.0.0/24"
-    cidr2 = read "10.0.1.0/24"
-    cidr3 = read "10.0.2.0/24"
-    cidr4 = read "10.0.3.0/23"
-    cidr5 = read "10.0.0.0/23"
+    cidr1 = read "10.0.0.0/24" :: Cidr
+    cidr2 = read "10.0.1.0/24" :: Cidr
+    cidr3 = read "10.0.2.0/24" :: Cidr
+    cidr4 = read "10.0.3.0/23" :: Cidr
+    cidr5 = read "10.0.0.0/23" :: Cidr
     test_cidrs = [cidr1, cidr2, cidr3, cidr4, cidr5]
-    expected = [read "10.0.0.0/22"]
+    expected = [read "10.0.0.0/22" :: Cidr]
     actual = combine_all test_cidrs
 
 
@@ -461,7 +461,7 @@ test_combine_all2 =
   testCase desc $ actual @?= expected
   where
     desc = "127.0.0.1/32 combines with itself recursively"
-    cidr1 = read "127.0.0.1/32"
+    cidr1 = read "127.0.0.1/32" :: Cidr
     test_cidrs = [cidr1, cidr1, cidr1, cidr1, cidr1]
     expected = [cidr1]
     actual = combine_all test_cidrs
@@ -473,12 +473,12 @@ test_combine_all3 =
   where
     desc = "10.0.0.16, 10.0.0.17, 10.0.0.18, and "
            ++ "10.0.0.19 get combined into 10.0.0.16/30"
-    cidr1 = read "10.0.0.16/32"
-    cidr2 = read "10.0.0.17/32"
-    cidr3 = read "10.0.0.18/32"
-    cidr4 = read "10.0.0.19/32"
+    cidr1 = read "10.0.0.16/32" :: Cidr
+    cidr2 = read "10.0.0.17/32" :: Cidr
+    cidr3 = read "10.0.0.18/32" :: Cidr
+    cidr4 = read "10.0.0.19/32" :: Cidr
     test_cidrs = [cidr1, cidr2, cidr3, cidr4]
-    expected = [read "10.0.0.16/30"]
+    expected = [read "10.0.0.16/30" :: Cidr]
     actual = combine_all test_cidrs
 
 -- QuickCheck Tests