StringBuilderTests.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "CppUnitTest.h"
  2. #include "StringBuilder.h"
  3. using namespace Microsoft::VisualStudio::CppUnitTestFramework;
  4. namespace JsonGeneratorTests
  5. {
  6. TEST_CLASS(StringBuilderTests)
  7. {
  8. char buffer[16];
  9. StringBuilder* sb;
  10. public:
  11. TEST_METHOD_INITIALIZE(Initialize)
  12. {
  13. sb = new StringBuilder(buffer, sizeof(buffer));
  14. }
  15. TEST_METHOD(InitialState)
  16. {
  17. assertResultIs("");
  18. }
  19. TEST_METHOD(AppendEmptyString)
  20. {
  21. append("");
  22. assertResultIs("");
  23. }
  24. TEST_METHOD(AppendOneString)
  25. {
  26. append("ABCD");
  27. assertResultIs("ABCD");
  28. }
  29. TEST_METHOD(AppendOneTwoStrings)
  30. {
  31. append("ABCD");
  32. append("EFGH");
  33. assertResultIs("ABCDEFGH");
  34. }
  35. TEST_METHOD(AppendSpecialChars)
  36. {
  37. append("\\\"\/\b\f\n\r");
  38. assertResultIs("\\\"\/\b\f\n\r");
  39. }
  40. void append(const char* s)
  41. {
  42. sb->append(s);
  43. }
  44. void assertResultIs(const char* expected)
  45. {
  46. Assert::AreEqual(expected, buffer);
  47. }
  48. };
  49. }