Răsfoiți Sursa

Test that size can't go above capacity

Benoit Blanchon 11 ani în urmă
părinte
comite
890e811e80
2 a modificat fișierele cu 17 adăugiri și 1 ștergeri
  1. 6 1
      srcs/StaticJsonBuffer.h
  2. 11 0
      tests/StaticJsonBufferTests.cpp

+ 6 - 1
srcs/StaticJsonBuffer.h

@@ -14,7 +14,12 @@ public:
 
     virtual ~StaticJsonBuffer() {}
 
-    /*JsonObject*/void createObject() { _size++; }
+    /*JsonObject*/
+    void createObject()
+    {
+        if (_size < CAPACITY)
+            _size++;
+    }
 
     int capacity()
     {

+ 11 - 0
tests/StaticJsonBufferTests.cpp

@@ -22,4 +22,15 @@ TEST(StaticJsonBuffer, WhenCreateObjectIsCalled_ThenSizeIsIncreasedByOne)
     
     json.createObject();
     EXPECT_EQ(2, json.size());
+}
+
+TEST(StaticJsonBuffer, GivenBufferIsFull_WhenCreateObjectIsCalled_ThenSizeDoesNotChange)
+{
+    StaticJsonBuffer<1> json;
+
+    json.createObject();
+    EXPECT_EQ(1, json.size());
+
+    json.createObject();
+    EXPECT_EQ(1, json.size());
 }