wrapped.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #include <iostream>
  2. #include "wrappedBuffer.hpp"
  3. #define FAILED(got, op, expt) {std::cout << __FILE__ << ":" << __LINE__ << ": failed asserting " << got << " " << op << " expected " << expt << std::endl; return false; }
  4. bool simpleTest()
  5. {
  6. WrappedBuffer<char, 5> test;
  7. if (test.toString().size() != 0)
  8. FAILED(test.toString().size(), "!=", 0);
  9. if (test.size() != 0)
  10. FAILED(test.size(), "!=", 0);
  11. test.put('a');
  12. if (test.size() != 1)
  13. FAILED(test.size(), "!=", 1);
  14. if (test.toString().size() != 1)
  15. FAILED(test.toString().size(), "!=", 1);
  16. if (test.toString() != "a")
  17. FAILED(test.toString(), "!=", "a");
  18. test.put('b');
  19. if (test.size() != 2)
  20. FAILED(test.size(), "!=", 2);
  21. if (test.toString().size() != 2)
  22. FAILED(test.toString().size(), "!=", 2);
  23. if (test.toString() != "ab")
  24. FAILED(test.toString(), "!=", "ab");
  25. test.put('c');
  26. if (test.size() != 3)
  27. FAILED(test.size(), "!=", 3);
  28. if (test.toString().size() != 3)
  29. FAILED(test.toString().size(), "!=", 3);
  30. if (test.toString() != "abc")
  31. FAILED(test.toString(), "!=", "abc");
  32. test.pop_back();
  33. if (test.size() != 2)
  34. FAILED(test.size(), "!=", 2);
  35. if (test.toString().size() != 2)
  36. FAILED(test.toString().size(), "!=", 2);
  37. if (test.toString() != "ab")
  38. FAILED(test.toString(), "!=", "ab");
  39. return true;
  40. }
  41. bool _testBorder(WrappedBuffer<char, 3> &test)
  42. {
  43. test.put('a');
  44. test.put('b');
  45. test.put('c');
  46. if (test.size() != 3)
  47. FAILED(test.size(), "!=", 3);
  48. if (test.toString() != "abc")
  49. FAILED(test.toString(), "!=", "abc");
  50. test.put('d');
  51. if (test.size() != 3)
  52. FAILED(test.size(), "!=", 3);
  53. if (test.toString() != "bcd")
  54. FAILED(test.toString(), "!=", "bcd");
  55. test.put('e');
  56. if (test.size() != 3)
  57. FAILED(test.size(), "!=", 3);
  58. if (test.toString() != "cde")
  59. FAILED(test.toString(), "!=", "cde");
  60. test.put('f');
  61. if (test.size() != 3)
  62. FAILED(test.size(), "!=", 3);
  63. if (test.toString() != "def")
  64. FAILED(test.toString(), "!=", "def");
  65. test.put('g');
  66. if (test.size() != 3)
  67. FAILED(test.size(), "!=", 3);
  68. if (test.toString() != "efg")
  69. FAILED(test.toString(), "!=", "efg");
  70. test.pop_back();
  71. if (test.size() != 2)
  72. FAILED(test.size(), "!=", 2);
  73. if (test.toString() != "ef")
  74. FAILED(test.toString(), "!=", "ef");
  75. test.put('g');
  76. if (test.size() != 3)
  77. FAILED(test.size(), "!=", 3);
  78. if (test.toString() != "efg")
  79. FAILED(test.toString(), "!=", "efg");
  80. test.put('h');
  81. if (test.size() != 3)
  82. FAILED(test.size(), "!=", 3);
  83. if (test.toString() != "fgh")
  84. FAILED(test.toString(), "!=", "fgh");
  85. test.pop_back();
  86. if (test.size() != 2)
  87. FAILED(test.size(), "!=", 2);
  88. if (test.toString() != "fg")
  89. FAILED(test.toString(), "!=", "fg");
  90. test.put('h');
  91. if (test.size() != 3)
  92. FAILED(test.size(), "!=", 3);
  93. if (test.toString() != "fgh")
  94. FAILED(test.toString(), "!=", "fgh");
  95. test.put('i');
  96. if (test.size() != 3)
  97. FAILED(test.size(), "!=", 3);
  98. if (test.toString() != "ghi")
  99. FAILED(test.toString(), "!=", "ghi");
  100. test.pop_back();
  101. if (test.size() != 2)
  102. FAILED(test.size(), "!=", 2);
  103. if (test.toString() != "gh")
  104. FAILED(test.toString(), "!=", "gh");
  105. test.pop_back();
  106. if (test.size() != 1)
  107. FAILED(test.size(), "!=", 1);
  108. if (test.toString() != "g")
  109. FAILED(test.toString(), "!=", "g");
  110. test.pop_back();
  111. if (test.size() != 0)
  112. FAILED(test.size(), "!=", 0);
  113. test.pop_back();
  114. if (test.size() != 0)
  115. FAILED(test.size(), "!=", 0);
  116. return true;
  117. }
  118. bool testBorder()
  119. {
  120. WrappedBuffer<char, 3> test;
  121. if (!_testBorder(test))
  122. return false;
  123. return _testBorder(test);
  124. }
  125. int main()
  126. {
  127. if (!simpleTest())
  128. exit(EXIT_FAILURE);
  129. if (!testBorder())
  130. exit(EXIT_FAILURE);
  131. exit(EXIT_SUCCESS);
  132. }