testgreg_month.cpp 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
  2. * Use, modification and distribution is subject to the
  3. * Boost Software License, Version 1.0. (See accompanying
  4. * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
  5. * Author: Jeff Garland
  6. */
  7. #include "boost/date_time/gregorian/greg_month.hpp"
  8. #include "../testfrmwk.hpp"
  9. #include <iostream>
  10. void
  11. test_month()
  12. {
  13. using namespace boost::gregorian;
  14. greg_month m1(Jan), m2(Feb), m3(Mar), m4(Apr), m5(May), m6(Jun);
  15. greg_month m7(Jul), m8(Aug), m9(Sep), m10(Oct), m11(Nov),m12(Dec);
  16. check("January as_number", m1.as_number() == 1);
  17. check("December as_number", m12.as_number() == 12);
  18. check("Jan as Short String", m1.as_short_string() == std::string("Jan"));
  19. check("Feb as Short String", m2.as_short_string() == std::string("Feb"));
  20. check("Mar as Short String", m3.as_short_string() == std::string("Mar"));
  21. check("Apr as Short String", m4.as_short_string() == std::string("Apr"));
  22. check("May as Short String", m5.as_short_string() == std::string("May"));
  23. check("Jun as Short String", m6.as_short_string() == std::string("Jun"));
  24. check("Jul as Short String", m7.as_short_string() == std::string("Jul"));
  25. check("Aug as Short String", m8.as_short_string() == std::string("Aug"));
  26. check("Sep as Short String", m9.as_short_string() == std::string("Sep"));
  27. check("Oct as Short String", m10.as_short_string() == std::string("Oct"));
  28. check("Nov as Short String", m11.as_short_string() == std::string("Nov"));
  29. check("Dec as Short String", m12.as_short_string() == std::string("Dec"));
  30. check("Jan as Long String", m1.as_long_string() == std::string("January"));
  31. check("Feb as Long String", m2.as_long_string() == std::string("February"));
  32. check("Mar as Long String", m3.as_long_string() == std::string("March"));
  33. check("Apr as Long String", m4.as_long_string() == std::string("April"));
  34. check("May as Long String", m5.as_long_string() == std::string("May"));
  35. check("Jun as Long String", m6.as_long_string() == std::string("June"));
  36. check("Jul as Long String", m7.as_long_string() == std::string("July"));
  37. check("Aug as Long String", m8.as_long_string() == std::string("August"));
  38. check("Sep as Long String", m9.as_long_string() == std::string("September"));
  39. check("Oct as Long String", m10.as_long_string() == std::string("October"));
  40. check("Nov as Long String", m11.as_long_string() == std::string("November"));
  41. check("Dec as Long String", m12.as_long_string() == std::string("December"));
  42. //month m(5);
  43. //TODO can this support NAM? or check exception
  44. // greg_month sm0(0);
  45. greg_month sm1(1);
  46. greg_month sm12(12);
  47. //check("check not a month value", sm0.as_short_string() == "NAM");
  48. check("short construction -- 1",
  49. sm1.as_short_string() == std::string("Jan"));
  50. check("short construction -- 12",
  51. sm12.as_short_string() == std::string("Dec"));
  52. check("month traits min", (greg_month::min)() == 1);
  53. check("month traits max", (greg_month::max)() == 12);
  54. }
  55. int
  56. main()
  57. {
  58. test_month();
  59. return printTestStats();
  60. }