--- |Miscellaneous functions for manipulating string.
+-- | Miscellaneous functions for manipulating string.
module StringUtils
where
-import Test.HUnit
+import Test.Framework (Test, testGroup)
+import Test.Framework.Providers.HUnit (testCase)
+import Test.HUnit (Assertion, assertEqual)
-- | Takes a list of strings, call them string1, string2, etc. and
-- 3. etc.
--
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 ]
-
-
-test_listify :: Test
+test_listify :: Assertion
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" ]
+ assertEqual description expected_items actual_items
+ where
+ description = "All items are numbered correctly."
+ actual_items = listify [ "item1", "item2" ]
+ expected_items = ["1. item1", "2. item2" ]
+
+string_utils_tests :: Test
+string_utils_tests =
+ testGroup "StringUtils Tests" [ tc1 ]
+ where
+ tc1 = testCase "All items are numbered correctly." test_listify