X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FIPv4Address.hs;h=e91e67325a070abde0a0af82afd2d05a3175bc4d;hb=103f95bf9bf2ad9908ec7a82691b81b1182774c7;hp=31ad7bd43965a56f7d243ab932ddbb4dc79dac33;hpb=ee9a99cf60149744ffe85e794c60724256b8fec5;p=hath.git diff --git a/src/IPv4Address.hs b/src/IPv4Address.hs index 31ad7bd..e91e673 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,30 @@ 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 :: Test +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 :: Test +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] +ipv4address_tests = [ test_most_sig_bit_different1, + test_most_sig_bit_different2 ]