// Copyright Benoit Blanchon 2014-2016 // MIT License // // Arduino JSON library // https://github.com/bblanchon/ArduinoJson // If you like this project, please add a star! #include #include #define SUITE JsonVariant_Is_Tests template void assertIsNot(TFrom value) { JsonVariant variant = value; ASSERT_FALSE(variant.is()); } template void assertIsNot(JsonArray& value) { JsonVariant variant = value; ASSERT_FALSE(variant.is()); } template void assertIs(TFrom value) { JsonVariant variant = value; ASSERT_TRUE(variant.is()); } template void assertIs(JsonArray& value) { JsonVariant variant = value; ASSERT_TRUE(variant.is()); } TEST(SUITE, ArrayIsArray) { DynamicJsonBuffer jsonBuffer; assertIs(jsonBuffer.createArray()); } TEST(SUITE, ArrayIsNotBool) { DynamicJsonBuffer jsonBuffer; assertIsNot(jsonBuffer.createArray()); } TEST(SUITE, ArrayIsNotDouble) { DynamicJsonBuffer jsonBuffer; assertIsNot(jsonBuffer.createArray()); } TEST(SUITE, ArrayIsNotFloat) { DynamicJsonBuffer jsonBuffer; assertIsNot(jsonBuffer.createArray()); } TEST(SUITE, ArrayIsNotInt) { DynamicJsonBuffer jsonBuffer; assertIsNot(jsonBuffer.createArray()); } TEST(SUITE, ArrayIsNotLong) { DynamicJsonBuffer jsonBuffer; assertIsNot(jsonBuffer.createArray()); } TEST(SUITE, ArrayIsNotString) { DynamicJsonBuffer jsonBuffer; assertIsNot(jsonBuffer.createArray()); } TEST(SUITE, BoolIsArray) { assertIsNot(true); } TEST(SUITE, BoolIsBool) { assertIs(true); } TEST(SUITE, BoolIsDouble) { assertIsNot(true); } TEST(SUITE, BoolIsFloat) { assertIsNot(true); } TEST(SUITE, BoolIsInt) { assertIsNot(true); } TEST(SUITE, BoolIsLong) { assertIsNot(true); } TEST(SUITE, BoolIsString) { assertIsNot(true); } TEST(SUITE, DoubleIsArray) { assertIsNot(4.2); } TEST(SUITE, DoubleIsBool) { assertIsNot(4.2); } TEST(SUITE, DoubleIsDouble) { assertIs(4.2); } TEST(SUITE, DoubleIsFloat) { assertIs(4.2); } TEST(SUITE, DoubleIsInt) { assertIsNot(4.2); } TEST(SUITE, DoubleIsLong) { assertIsNot(4.2); } TEST(SUITE, DoubleIsString) { assertIsNot(4.2); } TEST(SUITE, LongIsArray) { assertIsNot(42L); } TEST(SUITE, LongIsBool) { assertIsNot(42L); } TEST(SUITE, LongIsDouble) { assertIsNot(42L); } TEST(SUITE, LongIsFloat) { assertIsNot(42L); } TEST(SUITE, LongIsInt) { assertIs(42L); } TEST(SUITE, LongIsLong) { assertIs(42L); } TEST(SUITE, LongIsString) { assertIsNot(42L); } TEST(SUITE, StringIsArray) { assertIsNot("42"); } TEST(SUITE, StringIsBool) { assertIsNot("42"); } TEST(SUITE, StringIsDouble) { assertIsNot("42"); } TEST(SUITE, StringIsFloat) { assertIsNot("42"); } TEST(SUITE, StringIsInt) { assertIsNot("42"); } TEST(SUITE, StringIsLong) { assertIsNot("42"); } TEST(SUITE, StringIsString) { assertIs("42"); } TEST(SUITE, UnparsedTrueIsArray) { assertIsNot(RawJson("true")); } TEST(SUITE, UnparsedTrueIsBool) { assertIs(RawJson("true")); } TEST(SUITE, UnparsedTrueIsDouble) { assertIsNot(RawJson("true")); } TEST(SUITE, UnparsedTrueIsFloat) { assertIsNot(RawJson("true")); } TEST(SUITE, UnparsedTrueIsInt) { assertIsNot(RawJson("true")); } TEST(SUITE, UnparsedTrueIsLong) { assertIsNot(RawJson("true")); } TEST(SUITE, UnparsedTrueIsString) { assertIsNot(RawJson("true")); } TEST(SUITE, UnparsedFalseIsArray) { assertIsNot(RawJson("false")); } TEST(SUITE, UnparsedFalseIsBool) { assertIs(RawJson("false")); } TEST(SUITE, UnparsedFalseIsDouble) { assertIsNot(RawJson("false")); } TEST(SUITE, UnparsedFalseIsFloat) { assertIsNot(RawJson("false")); } TEST(SUITE, UnparsedFalseIsInt) { assertIsNot(RawJson("false")); } TEST(SUITE, UnparsedFalseIsLong) { assertIsNot(RawJson("false")); } TEST(SUITE, UnparsedFalseIsString) { assertIsNot(RawJson("false")); } TEST(SUITE, UnparsedIntIsArray) { assertIsNot(RawJson("42")); } TEST(SUITE, UnparsedIntIsBool) { assertIsNot(RawJson("42")); } TEST(SUITE, UnparsedIntIsDouble) { assertIsNot(RawJson("42")); } TEST(SUITE, UnparsedIntIsFloat) { assertIsNot(RawJson("42")); } TEST(SUITE, UnparsedIntIsInt) { assertIs(RawJson("42")); } TEST(SUITE, UnparsedIntIsLong) { assertIs(RawJson("42")); } TEST(SUITE, UnparsedIntIsString) { assertIsNot(RawJson("42")); } TEST(SUITE, UnparsedFloatIsBool) { assertIsNot(RawJson("4.2e-10")); } TEST(SUITE, UnparsedFloatIsDouble) { assertIs(RawJson("4.2e-10")); } TEST(SUITE, UnparsedFloatIsFloat) { assertIs(RawJson("4.2e-10")); } TEST(SUITE, UnparsedFloatIsInt) { assertIsNot(RawJson("4.2e-10")); } TEST(SUITE, UnparsedFloatIsLong) { assertIsNot(RawJson("4.2e-10")); } TEST(SUITE, UnparsedFloatIsStr) { assertIsNot(RawJson("4.2")); } TEST(SUITE, UnparsedNullIsArray) { assertIsNot(RawJson("null")); } TEST(SUITE, UnparsedNullIsBool) { assertIsNot(RawJson("null")); } TEST(SUITE, UnparsedNullIsDouble) { assertIsNot(RawJson("null")); } TEST(SUITE, UnparsedNullIsFloat) { assertIsNot(RawJson("null")); } TEST(SUITE, UnparsedNullIsInt) { assertIsNot(RawJson("null")); } TEST(SUITE, UnparsedNullIsLong) { assertIsNot(RawJson("null")); } TEST(SUITE, UnparsedNullIsConstCharPtr) { assertIs(RawJson("null")); } TEST(SUITE, UnparsedNullIsCharPtr) { assertIs(RawJson("null")); }