herd_simple_formats_tests.erl 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. -module(herd_simple_formats_tests).
  2. -include_lib("eunit/include/eunit.hrl").
  3. %% eunit tests
  4. get_date_test() ->
  5. ?assertEqual({2014, 5, 20}, herd_simple_formats:get_date("2014-05-20")),
  6. ?assertEqual({2014, 5, 20}, herd_simple_formats:get_date("2014-5-20")),
  7. ?assertEqual({1970, 1, 1}, herd_simple_formats:get_date("1970-1-1")),
  8. ?assertEqual({1970, 1, 1}, herd_simple_formats:get_date("1970-01-01")),
  9. ?assertEqual({1970, 12, 31}, herd_simple_formats:get_date("1970-12-31")),
  10. ?assertEqual({1970, 1, 1}, herd_simple_formats:get_date("1970-1-1-bla")),
  11. ?assertEqual(error, herd_simple_formats:get_date("2000-13-31")),
  12. ?assertEqual(error, herd_simple_formats:get_date("2000-10-32")),
  13. ?assertEqual(error, herd_simple_formats:get_date("bla-bla-bla")),
  14. ?assertEqual(error, herd_simple_formats:get_date("1970-10-bla")),
  15. ok.
  16. get_time_test() ->
  17. ?assertEqual({23, 15, 34}, herd_simple_formats:get_time("23:15:34")),
  18. ?assertEqual({12, 0, 11}, herd_simple_formats:get_time("12:00:11")),
  19. ?assertEqual({0, 0, 0}, herd_simple_formats:get_time("00:00:00")),
  20. ?assertEqual({1, 0, 0}, herd_simple_formats:get_time("01:00:00")),
  21. ?assertEqual({0, 1, 0}, herd_simple_formats:get_time("00:01:00")),
  22. ?assertEqual({0, 0, 1}, herd_simple_formats:get_time("00:00:01")),
  23. ?assertEqual({1, 1, 1}, herd_simple_formats:get_time("01:01:01")),
  24. ?assertEqual({23, 59, 59}, herd_simple_formats:get_time("23:59:59")),
  25. ?assertEqual(error, herd_simple_formats:get_time("01:01:01:01")),
  26. ?assertEqual(error, herd_simple_formats:get_time("01:01:ab")),
  27. ?assertEqual(error, herd_simple_formats:get_time("01:01")),
  28. ?assertEqual(error, herd_simple_formats:get_time("25:10:10")),
  29. ?assertEqual(error, herd_simple_formats:get_time("24:60:10")),
  30. ?assertEqual(error, herd_simple_formats:get_time("24:30:60")),
  31. ok.
  32. get_datetime_test() ->
  33. ?assertEqual(error, herd_simple_formats:get_datetime("")),
  34. ?assertEqual(error, herd_simple_formats:get_datetime("bla-bla-bla")),
  35. ?assertEqual(error, herd_simple_formats:get_datetime("bla-bla-bla bla:bla:bla")),
  36. ?assertEqual(error, herd_simple_formats:get_datetime("2014-05-20")),
  37. ?assertEqual(error, herd_simple_formats:get_datetime("2014-05-20 bla-bla-bla")),
  38. ?assertEqual(error, herd_simple_formats:get_datetime("2014-05-20 bla bla bla")),
  39. ?assertEqual(error, herd_simple_formats:get_datetime("blablabla 23:15:34")),
  40. ?assertEqual({{2014, 5, 20}, {23, 15, 34}},
  41. herd_simple_formats:get_datetime("2014-05-20 23:15:34")),
  42. ?assertEqual({{2014, 5, 20}, {12, 0, 11}},
  43. herd_simple_formats:get_datetime("2014-5-20 12:00:11")),
  44. ?assertEqual({{1970, 1, 1}, {0, 0, 0}},
  45. herd_simple_formats:get_datetime("1970-1-1 00:00:00")),
  46. ?assertEqual({{1970, 1, 1}, {23, 5, 9}},
  47. herd_simple_formats:get_datetime("1970-01-01 23:05:09")),
  48. ?assertEqual({{1970, 12, 31}, {23, 59, 59}},
  49. herd_simple_formats:get_datetime("1970-12-31 23:59:59")),
  50. ?assertEqual({{2014, 9, 19}, {12, 59, 30}},
  51. herd_simple_formats:get_datetime("2014-09-19 12:59:30 UTC")),
  52. ok.
  53. get_ip_test() ->
  54. ?assertEqual({0, 0, 0, 0}, herd_simple_formats:get_ip("0.0.0.0")),
  55. ?assertEqual({1, 2, 3, 4}, herd_simple_formats:get_ip("1.2.3.4")),
  56. ?assertEqual({127, 0, 0, 1}, herd_simple_formats:get_ip("127.0.0.1")),
  57. ?assertEqual({255, 255, 255, 255}, herd_simple_formats:get_ip("255.255.255.255")),
  58. ?assertEqual({10, 1, 0, 20}, herd_simple_formats:get_ip("10.1.0.20")),
  59. ?assertEqual({173, 194, 112, 238}, herd_simple_formats:get_ip("173.194.112.238")),
  60. ?assertEqual({93, 158, 134, 3}, herd_simple_formats:get_ip("93.158.134.3")),
  61. ?assertEqual(error, herd_simple_formats:get_ip("255.255.255.256")),
  62. ?assertEqual(error, herd_simple_formats:get_ip("255.255.255.500")),
  63. ?assertEqual(error, herd_simple_formats:get_ip("1.2.3")),
  64. ?assertEqual(error, herd_simple_formats:get_ip("-1.2.3.4")),
  65. ?assertEqual(error, herd_simple_formats:get_ip("1.2.3.4.5")),
  66. ?assertEqual(error, herd_simple_formats:get_ip("a.b.c.d")),
  67. ?assertEqual(error, herd_simple_formats:get_ip("hellothere")),
  68. ?assertEqual(error, herd_simple_formats:get_ip("127.hello.there.again")),
  69. ok.