X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FIPv4Address.hs;h=29afa5f3dd2c34264a98b39c250d93b5160db6af;hb=62733fdca35195dd5ad984bdd5c9d1247d2a9bc0;hp=31ad7bd43965a56f7d243ab932ddbb4dc79dac33;hpb=ee9a99cf60149744ffe85e794c60724256b8fec5;p=hath.git diff --git a/src/IPv4Address.hs b/src/IPv4Address.hs index 31ad7bd..29afa5f 100644 --- a/src/IPv4Address.hs +++ b/src/IPv4Address.hs @@ -1,5 +1,6 @@ module IPv4Address ( ipv4address_from_octets, + ipv4address_tests, IPv4Address(None), max_octet1, max_octet2, @@ -14,8 +15,9 @@ module IPv4Address octet2, octet3, octet4 -) - where +) where + +import Test.HUnit import qualified Bit as B import Maskbits @@ -339,3 +341,28 @@ most_sig_bit_different addr1 addr2 oct2b = (octet2 addr2) oct3b = (octet3 addr2) oct4b = (octet4 addr2) + + + +-- HUnit Tests +mk_testaddr :: Int -> Int -> Int -> Int -> IPv4Address +mk_testaddr a b c d = + IPv4Address oct1 oct2 oct3 oct4 + where + oct1 = octet_from_int a + oct2 = octet_from_int b + oct3 = octet_from_int c + oct4 = octet_from_int d + + +test_most_sig_bit_different1 = + TestCase $ assertEqual "10.1.1.0 and 10.1.0.0 differ in bit 24" TwentyFour (most_sig_bit_different (mk_testaddr 10 1 1 0) (mk_testaddr 10 1 0 0)) + + +test_most_sig_bit_different2 = + TestCase $ assertEqual "10.1.2.0 and 10.1.1.0 differ in bit 23" TwentyThree (most_sig_bit_different (mk_testaddr 10 1 2 0) (mk_testaddr 10 1 1 0)) + + + +ipv4address_tests = [ test_most_sig_bit_different1, + test_most_sig_bit_different2 ]