X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=blobdiff_plain;f=src%2FStringUtils.hs;h=e498c2eea81cfc2025e2f3c546ecd519c0678832;hp=f9d7dfc9cf8ae4b08c05f8f9dbd21ec52fac1230;hb=1b72ed45ef890ed1329a32457b4d7f3a7fb37788;hpb=9b6d95a82745ced2a58d9bc4ded555ee36b36673 diff --git a/src/StringUtils.hs b/src/StringUtils.hs index f9d7dfc..e498c2e 100644 --- a/src/StringUtils.hs +++ b/src/StringUtils.hs @@ -1,33 +1,39 @@ --- |Miscellaneous functions for manipulating string. -module StringUtils +-- | Miscellaneous functions for manipulating string. +module StringUtils ( + listify, + string_utils_tests ) where -import Test.HUnit +import Test.Tasty ( TestTree, testGroup ) +import Test.Tasty.HUnit ( (@?=), testCase ) --- | Takes a list of strings, call them string1, string2, etc. and --- numbers them like a list. So, +-- | Takes a list of strings and numbers it like an ordered list. -- --- 1. string1 --- 2. string2 --- 3. etc. +-- Examples: +-- +-- >>> listify ["foo", "bar", "baz"] +-- ["1. foo","2. bar","3. baz"] -- listify :: [String] -> [String] -listify items = - zipWith (++) list_numbers items +listify = + zipWith (++) list_numbers where list_numbers = map show_with_dot [1::Integer ..] show_with_dot x = (show x) ++ ". " +-- +-- * Tests +-- -string_utils_tests :: [Test] -string_utils_tests = [ test_listify ] - +string_utils_tests :: TestTree +string_utils_tests = + testGroup "StringUtils Tests" [ test_listify ] -test_listify :: Test -test_listify = - TestCase $ assertEqual "All items are numbered correctly." expected_items actual_items - where - actual_items = listify [ "item1", "item2" ] - expected_items = ["1. item1", "2. item2" ] +test_listify :: TestTree +test_listify = testCase description $ actual @?= expected + where + description = "all items are numbered correctly" + actual = listify [ "item1", "item2" ] + expected = ["1. item1", "2. item2" ]