dynamic-strings.cpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #include "Crown.h"
  2. using namespace crown;
  3. //-----------------------------------------------------------------------------
  4. void creation_test()
  5. {
  6. DynamicString string(default_allocator(), "Creation Test");
  7. CE_LOGI("%s", string.c_str());
  8. string = "Creation Test OK!";
  9. CE_LOGI("%s", string.c_str());
  10. }
  11. //-----------------------------------------------------------------------------
  12. void equal_test()
  13. {
  14. DynamicString string(default_allocator(), "Equal Test");
  15. CE_LOGI("%s", string.c_str());
  16. DynamicString string1(default_allocator(), "DynamicString assigned!");
  17. string = string1;
  18. CE_LOGI("%s", string.c_str());
  19. string = "C-string assigned";
  20. CE_LOGI("%s", string.c_str());
  21. string = 'C';
  22. CE_LOGI("%s", string.c_str());
  23. string = "Equal Test OK!";
  24. CE_LOGI("%s", string.c_str());
  25. }
  26. //-----------------------------------------------------------------------------
  27. void plus_equal_test()
  28. {
  29. DynamicString string(default_allocator(), "PlusEqual Test");
  30. DynamicString string1(default_allocator(), " DynamicString appended!");
  31. string += string1;
  32. CE_LOGI("%s", string.c_str());
  33. string += " C-string appended! ";
  34. CE_LOGI("%s", string.c_str());
  35. string += 'C';
  36. CE_LOGI("%s", string.c_str());
  37. string = "PlusEqual Test OK!";
  38. CE_LOGI("%s", string.c_str());
  39. }
  40. //-----------------------------------------------------------------------------
  41. void starts_ends_with_test()
  42. {
  43. TempAllocator1024 alloc;
  44. DynamicString string(alloc, "lua/game.lua");
  45. CE_ASSERT(string.starts_with("lua"), "FAIL");
  46. CE_ASSERT(string.starts_with("lua/game.lua"), "FAIL");
  47. CE_ASSERT(!string.starts_with("game"), "FAIL");
  48. CE_ASSERT(!string.starts_with("lua/game.lua/foo"), "FAIL");
  49. CE_ASSERT(string.ends_with(".lua"), "FAIL");
  50. CE_ASSERT(string.ends_with("lua/game.lua"), "FAIL");
  51. CE_ASSERT(!string.ends_with("foo"), "FAIL");
  52. CE_ASSERT(!string.ends_with("lua/game.lua/"), "FAIL");
  53. }
  54. int main()
  55. {
  56. creation_test();
  57. equal_test();
  58. plus_equal_test();
  59. starts_ends_with_test();
  60. return 0;
  61. }