Forráskód Böngészése

Generator: added a tests that adds a 'true' to an array

Benoit Blanchon 11 éve
szülő
commit
a27bb3097a
2 módosított fájl, 23 hozzáadás és 1 törlés
  1. 16 1
      JsonGeneratorTests/JsonArray.h
  2. 7 0
      JsonGeneratorTests/JsonArrayTests.cpp

+ 16 - 1
JsonGeneratorTests/JsonArray.h

@@ -11,12 +11,14 @@ enum JsonObjectType
 {
     JSON_STRING,
     JSON_NUMBER,
+    JSON_BOOLEAN,
 };
 
 union JsonObjectValue
 {
     const char* string;
-    double number;
+    double      number;
+    bool        boolean;
 };
 
 struct JsonObject
@@ -54,6 +56,15 @@ public:
         itemCount++;
     }
 
+    void add(bool value)
+    {
+        if (itemCount >= N) return;
+
+        items[itemCount].type = JSON_BOOLEAN;
+        items[itemCount].value.boolean = value;
+        itemCount++;
+    }
+
     void writeTo(char* buffer, size_t bufferSize)
     {
         buffer[0] = 0;
@@ -74,6 +85,10 @@ public:
             case JSON_NUMBER:
                 append(buffer, bufferSize, "%lg", items[i].value.number);
                 break;
+
+            case JSON_BOOLEAN:
+                append(buffer, bufferSize, "true");
+                break;
             }
         }
 

+ 7 - 0
JsonGeneratorTests/JsonArrayTests.cpp

@@ -64,6 +64,13 @@ namespace JsonGeneratorTests
             AssertJsonIs("[3.14,2.72]");
         }
 
+        TEST_METHOD(AddTrue)
+        {
+            arr.add(true);
+
+            AssertJsonIs("[true]");
+        }
+
         void AssertJsonIs(const char* expected)
         {      
             char buffer[256];