ClassTest.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /******************************************************************
  2. *
  3. * uEcho for C
  4. *
  5. * Copyright (C) Satoshi Konno 2015
  6. *
  7. * This is licensed under BSD-style license, see file COPYING.
  8. *
  9. ******************************************************************/
  10. #include <boost/test/unit_test.hpp>
  11. #include <uecho/class.h>
  12. #include <uecho/node.h>
  13. #include <uecho/profile.h>
  14. BOOST_AUTO_TEST_CASE(ClassNew)
  15. {
  16. uEchoClass* cls = uecho_class_new();
  17. BOOST_CHECK_EQUAL(uecho_class_getcode(cls), (uEchoClassCode)uEchoClassCodeMin);
  18. uecho_class_delete(cls);
  19. }
  20. BOOST_AUTO_TEST_CASE(ClassSetCode)
  21. {
  22. uEchoClass* cls = uecho_class_new();
  23. uecho_class_setcode(cls, uEchoClassCodeMin);
  24. BOOST_CHECK_EQUAL(uecho_class_getcode(cls), (uEchoClassCode)uEchoClassCodeMin);
  25. uecho_class_setcode(cls, (uEchoClassCodeMin + 1));
  26. BOOST_CHECK_EQUAL(uecho_class_getcode(cls), (uEchoClassCode)(uEchoClassCodeMin + 1));
  27. uecho_class_setcode(cls, (uEchoClassCodeMax / 2));
  28. BOOST_CHECK_EQUAL(uecho_class_getcode(cls), (uEchoClassCode)(uEchoClassCodeMax / 2));
  29. uecho_class_setcode(cls, uEchoClassCodeMax);
  30. BOOST_CHECK_EQUAL(uecho_class_getcode(cls), (uEchoClassCode)uEchoClassCodeMax);
  31. uecho_class_delete(cls);
  32. }
  33. BOOST_AUTO_TEST_CASE(ClassSetCodes)
  34. {
  35. uEchoClass* cls = uecho_class_new();
  36. srand((int)time(NULL));
  37. for (int n = 0; n < 10; n++) {
  38. byte code;
  39. code = rand() % 255;
  40. uecho_class_setclassgroupcode(cls, code);
  41. BOOST_CHECK_EQUAL(uecho_class_getclassgroupcode(cls), code);
  42. code = rand() % 255;
  43. uecho_class_setclasscode(cls, code);
  44. BOOST_CHECK_EQUAL(uecho_class_getclasscode(cls), code);
  45. }
  46. uecho_class_delete(cls);
  47. }