<commit_before>#include "CppUnitTest.h"
#include "JsonArray.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace JsonGeneratorTests
{		
    TEST_CLASS(JsonArrayTests)
    {
    public:
        
        TEST_METHOD(Empty)
        {
            jsonIs("[]");
        }

        TEST_METHOD(AddNull)
        {
            add((char*)0);

            jsonIs("[null]");
        }

        TEST_METHOD(AddOneString)
        {
            add("hello");

            jsonIs("[\"hello\"]");
        }

        TEST_METHOD(AddTwoStrings)
        {
            add("hello");
            add("world");

            jsonIs("[\"hello\",\"world\"]");
        }

        TEST_METHOD(AddOneStringOverCapacity)
        {
            add("hello");
            add("world");
            add("lost");

            jsonIs("[\"hello\",\"world\"]");
        }

        TEST_METHOD(AddOneNumber)
        {
            add(3.14);

            jsonIs("[3.14]");
        }

        TEST_METHOD(AddTwoNumbers)
        {
            add(3.14);
            add(2.72);

            jsonIs("[3.14,2.72]");
        }

        TEST_METHOD(AddOneNumberOverCapacity)
        {
            add(3.14);
            add(2.72);
            add(1.41);

            jsonIs("[3.14,2.72]");
        }

        TEST_METHOD(AddTrue)
        {
            add(true);

            jsonIs("[true]");
        }

        TEST_METHOD(AddFalse)
        {
            add(false);

            jsonIs("[false]");
        }

        TEST_METHOD(AddTwoBooleans)
        {
            add(false);
            add(true);

            jsonIs("[false,true]");
        }

        TEST_METHOD(AddOneBooleanOverCapacity)
        {
            add(false);
            add(true);
            add(false);

            jsonIs("[false,true]");
        }

        TEST_METHOD(AddOneEmptyNestedArray)
        {
            JsonArray<1> nestedArray;
            
            add(nestedArray);

            jsonIs("[[]]");
        }

        TEST_METHOD(AddOneNestedArrayWithOneItem)
        {
            JsonArray<1> nestedArray;
            nestedArray.add(3.14);

            add(nestedArray);

            jsonIs("[[3.14]]");
        }

    private:

        JsonArray<2> arr;

        template<typename T>
        void add(T value)
        {
            arr.add(value);
        }

        void jsonIs(const char* expected)
        {      
            char buffer[256];

            arr.writeTo(buffer, sizeof(buffer));

            Assert::AreEqual(expected, buffer);
        }
    };
}<commit_msg>Fixed the failing tests<commit_after>#include "CppUnitTest.h"
#include "JsonArray.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace JsonGeneratorTests
{		
    TEST_CLASS(JsonArrayTests)
    {
    public:
        
        TEST_METHOD(Empty)
        {
            jsonIs("[]");
        }

        TEST_METHOD(AddNull)
        {
            addValue((char*)0);

            jsonIs("[null]");
        }

        TEST_METHOD(AddOneString)
        {
            addValue("hello");

            jsonIs("[\"hello\"]");
        }

        TEST_METHOD(AddTwoStrings)
        {
            addValue("hello");
            addValue("world");

            jsonIs("[\"hello\",\"world\"]");
        }

        TEST_METHOD(AddOneStringOverCapacity)
        {
            addValue("hello");
            addValue("world");
            addValue("lost");

            jsonIs("[\"hello\",\"world\"]");
        }

        TEST_METHOD(AddOneNumber)
        {
            addValue(3.14);

            jsonIs("[3.14]");
        }

        TEST_METHOD(AddTwoNumbers)
        {
            addValue(3.14);
            addValue(2.72);

            jsonIs("[3.14,2.72]");
        }

        TEST_METHOD(AddOneNumberOverCapacity)
        {
            addValue(3.14);
            addValue(2.72);
            addValue(1.41);

            jsonIs("[3.14,2.72]");
        }

        TEST_METHOD(AddTrue)
        {
            addValue(true);

            jsonIs("[true]");
        }

        TEST_METHOD(AddFalse)
        {
            addValue(false);

            jsonIs("[false]");
        }

        TEST_METHOD(AddTwoBooleans)
        {
            addValue(false);
            addValue(true);

            jsonIs("[false,true]");
        }

        TEST_METHOD(AddOneBooleanOverCapacity)
        {
            addValue(false);
            addValue(true);
            addValue(false);

            jsonIs("[false,true]");
        }

        TEST_METHOD(AddOneEmptyNestedArray)
        {
            JsonArray<1> nestedArray;
            
            addNested(nestedArray);

            jsonIs("[[]]");
        }

        TEST_METHOD(AddOneNestedArrayWithOneItem)
        {
            JsonArray<1> nestedArray;
            nestedArray.add(3.14);

            addNested(nestedArray);

            jsonIs("[[3.14]]");
        }

    private:

        JsonArray<2> arr;

        void addNested(JsonObjectBase& value)
        {
            arr.add(value);
        }

        template<typename T>
        void addValue(T value)
        {
            arr.add(value);
        }

        void jsonIs(const char* expected)
        {      
            char buffer[256];

            arr.writeTo(buffer, sizeof(buffer));

            Assert::AreEqual(expected, buffer);
        }
    };
}
{'fraction_non_alphanumeric': 0.12520035618878006, 'fraction_numerical': 0.0163846838824577, 'mean_word_length': 1.1345496009122007, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3502530', 'n_tokens_mistral': 1690, 'n_tokens_neox': 1536, 'n_words': 177}