Remove build_array and build_dictionary from tests

This commit is contained in:
kit
2025-03-28 15:36:41 -04:00
parent 6c9765d87e
commit f7c182371e
11 changed files with 223 additions and 356 deletions

View File

@@ -35,26 +35,6 @@
#include "tests/test_tools.h"
namespace TestArray {
static inline Array build_array() {
return Array();
}
template <typename... Targs>
static inline Array build_array(Variant item, Targs... Fargs) {
Array a = build_array(Fargs...);
a.push_front(item);
return a;
}
static inline Dictionary build_dictionary() {
return Dictionary();
}
template <typename... Targs>
static inline Dictionary build_dictionary(Variant key, Variant item, Targs... Fargs) {
Dictionary d = build_dictionary(Fargs...);
d[key] = item;
return d;
}
TEST_CASE("[Array] initializer list") {
Array arr = { 0, 1, "test", true, { 0.0, 1.0 } };
CHECK(arr.size() == 5);
@@ -348,7 +328,7 @@ TEST_CASE("[Array] slice()") {
TEST_CASE("[Array] Duplicate array") {
// a = [1, [2, 2], {3: 3}]
Array a = build_array(1, build_array(2, 2), build_dictionary(3, 3));
Array a = { 1, { 2, 2 }, Dictionary({ { 3, 3 } }) };
// Deep copy
Array deep_a = a.duplicate(true);
@@ -411,7 +391,7 @@ TEST_CASE("[Array] Duplicate recursive array") {
TEST_CASE("[Array] Hash array") {
// a = [1, [2, 2], {3: 3}]
Array a = build_array(1, build_array(2, 2), build_dictionary(3, 3));
Array a = { 1, { 2, 2 }, Dictionary({ { 3, 3 } }) };
uint32_t original_hash = a.hash();
a.push_back(1);
@@ -461,9 +441,9 @@ TEST_CASE("[Array] Empty comparison") {
}
TEST_CASE("[Array] Flat comparison") {
Array a1 = build_array(1);
Array a2 = build_array(1);
Array other_a = build_array(2);
Array a1 = { 1 };
Array a2 = { 1 };
Array other_a = { 2 };
// test both operator== and operator!=
CHECK_EQ(a1, a1); // compare self
@@ -476,12 +456,12 @@ TEST_CASE("[Array] Flat comparison") {
TEST_CASE("[Array] Nested array comparison") {
// a1 = [[[1], 2], 3]
Array a1 = build_array(build_array(build_array(1), 2), 3);
Array a1 = { { { 1 }, 2 }, 3 };
Array a2 = a1.duplicate(true);
// other_a = [[[1, 0], 2], 3]
Array other_a = build_array(build_array(build_array(1, 0), 2), 3);
Array other_a = { { { 1, 0 }, 2 }, 3 };
// test both operator== and operator!=
CHECK_EQ(a1, a1); // compare self
@@ -494,12 +474,12 @@ TEST_CASE("[Array] Nested array comparison") {
TEST_CASE("[Array] Nested dictionary comparison") {
// a1 = [{1: 2}, 3]
Array a1 = build_array(build_dictionary(1, 2), 3);
Array a1 = { Dictionary({ { 1, 2 } }), 3 };
Array a2 = a1.duplicate(true);
// other_a = [{1: 0}, 3]
Array other_a = build_array(build_dictionary(1, 0), 3);
Array other_a = { Dictionary({ { 1, 0 } }), 3 };
// test both operator== and operator!=
CHECK_EQ(a1, a1); // compare self
@@ -561,8 +541,8 @@ TEST_CASE("[Array] Recursive self comparison") {
}
TEST_CASE("[Array] Iteration") {
Array a1 = build_array(1, 2, 3);
Array a2 = build_array(1, 2, 3);
Array a1 = { 1, 2, 3 };
Array a2 = { 1, 2, 3 };
int idx = 0;
for (Variant &E : a1) {
@@ -585,10 +565,10 @@ TEST_CASE("[Array] Iteration") {
}
TEST_CASE("[Array] Iteration and modification") {
Array a1 = build_array(1, 2, 3);
Array a2 = build_array(2, 3, 4);
Array a3 = build_array(1, 2, 3);
Array a4 = build_array(1, 2, 3);
Array a1 = { 1, 2, 3 };
Array a2 = { 2, 3, 4 };
Array a3 = { 1, 2, 3 };
Array a4 = { 1, 2, 3 };
a3.make_read_only();
int idx = 0;
@@ -651,14 +631,14 @@ static bool _find_custom_callable(const Variant &p_val) {
}
TEST_CASE("[Array] Test find_custom") {
Array a1 = build_array(1, 3, 4, 5, 8, 9);
Array a1 = { 1, 3, 4, 5, 8, 9 };
// Find first even number.
int index = a1.find_custom(callable_mp_static(_find_custom_callable));
CHECK_EQ(index, 2);
}
TEST_CASE("[Array] Test rfind_custom") {
Array a1 = build_array(1, 3, 4, 5, 8, 9);
Array a1 = { 1, 3, 4, 5, 8, 9 };
// Find last even number.
int index = a1.rfind_custom(callable_mp_static(_find_custom_callable));
CHECK_EQ(index, 4);

View File

@@ -34,26 +34,6 @@
#include "tests/test_macros.h"
namespace TestDictionary {
static inline Array build_array() {
return Array();
}
template <typename... Targs>
static inline Array build_array(Variant item, Targs... Fargs) {
Array a = build_array(Fargs...);
a.push_front(item);
return a;
}
static inline Dictionary build_dictionary() {
return Dictionary();
}
template <typename... Targs>
static inline Dictionary build_dictionary(Variant key, Variant item, Targs... Fargs) {
Dictionary d = build_dictionary(Fargs...);
d[key] = item;
return d;
}
TEST_CASE("[Dictionary] Assignment using bracket notation ([])") {
Dictionary map;
map["Hello"] = 0;
@@ -202,9 +182,13 @@ TEST_CASE("[Dictionary] keys() and values()") {
TEST_CASE("[Dictionary] Duplicate dictionary") {
// d = {1: {1: 1}, {2: 2}: [2], [3]: 3}
Dictionary k2 = build_dictionary(2, 2);
Array k3 = build_array(3);
Dictionary d = build_dictionary(1, build_dictionary(1, 1), k2, build_array(2), k3, 3);
Dictionary k2 = { { 2, 2 } };
Array k3 = { 3 };
Dictionary d = {
{ 1, Dictionary({ { 1, 1 } }) },
{ k2, Array({ 2 }) },
{ k3, 3 }
};
// Deep copy
Dictionary deep_d = d.duplicate(true);
@@ -322,9 +306,13 @@ TEST_CASE("[Dictionary] Duplicate recursive dictionary on keys") {
TEST_CASE("[Dictionary] Hash dictionary") {
// d = {1: {1: 1}, {2: 2}: [2], [3]: 3}
Dictionary k2 = build_dictionary(2, 2);
Array k3 = build_array(3);
Dictionary d = build_dictionary(1, build_dictionary(1, 1), k2, build_array(2), k3, 3);
Dictionary k2 = { { 2, 2 } };
Array k3 = { 3 };
Dictionary d = {
{ 1, Dictionary({ { 1, 1 } }) },
{ k2, Array({ 2 }) },
{ k3, 3 }
};
uint32_t original_hash = d.hash();
// Modify dict change the hash
@@ -394,9 +382,9 @@ TEST_CASE("[Dictionary] Empty comparison") {
}
TEST_CASE("[Dictionary] Flat comparison") {
Dictionary d1 = build_dictionary(1, 1);
Dictionary d2 = build_dictionary(1, 1);
Dictionary other_d = build_dictionary(2, 1);
Dictionary d1 = { { 1, 1 } };
Dictionary d2 = { { 1, 1 } };
Dictionary other_d = { { 2, 1 } };
// test both operator== and operator!=
CHECK_EQ(d1, d1); // compare self
@@ -409,12 +397,12 @@ TEST_CASE("[Dictionary] Flat comparison") {
TEST_CASE("[Dictionary] Nested dictionary comparison") {
// d1 = {1: {2: {3: 4}}}
Dictionary d1 = build_dictionary(1, build_dictionary(2, build_dictionary(3, 4)));
Dictionary d1 = { { 1, Dictionary({ { 2, Dictionary({ { 3, 4 } }) } }) } };
Dictionary d2 = d1.duplicate(true);
// other_d = {1: {2: {3: 0}}}
Dictionary other_d = build_dictionary(1, build_dictionary(2, build_dictionary(3, 0)));
Dictionary other_d = { { 1, Dictionary({ { 2, Dictionary({ { 3, 0 } }) } }) } };
// test both operator== and operator!=
CHECK_EQ(d1, d1); // compare self
@@ -427,12 +415,12 @@ TEST_CASE("[Dictionary] Nested dictionary comparison") {
TEST_CASE("[Dictionary] Nested array comparison") {
// d1 = {1: [2, 3]}
Dictionary d1 = build_dictionary(1, build_array(2, 3));
Dictionary d1 = { { 1, { 2, 3 } } };
Dictionary d2 = d1.duplicate(true);
// other_d = {1: [2, 0]}
Dictionary other_d = build_dictionary(1, build_array(2, 0));
Dictionary other_d = { { 1, { 2, 0 } } };
// test both operator== and operator!=
CHECK_EQ(d1, d1); // compare self
@@ -589,8 +577,8 @@ TEST_CASE("[Dictionary] Typed copying") {
}
TEST_CASE("[Dictionary] Iteration") {
Dictionary a1 = build_dictionary(1, 2, 3, 4, 5, 6);
Dictionary a2 = build_dictionary(1, 2, 3, 4, 5, 6);
Dictionary a1 = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
Dictionary a2 = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
int idx = 0;

View File

@@ -36,26 +36,6 @@
#include "tests/test_macros.h"
namespace TestVariant {
static inline Array build_array() {
return Array();
}
template <typename... Targs>
static inline Array build_array(Variant item, Targs... Fargs) {
Array a = build_array(Fargs...);
a.push_front(item);
return a;
}
static inline Dictionary build_dictionary() {
return Dictionary();
}
template <typename... Targs>
static inline Dictionary build_dictionary(Variant key, Variant item, Targs... Fargs) {
Dictionary d = build_dictionary(Fargs...);
d[key] = item;
return d;
}
TEST_CASE("[Variant] Writer and parser integer") {
int64_t a32 = 2147483648; // 2^31, so out of bounds for 32-bit signed int [-2^31, +2^31-1].
String a32_str;
@@ -1787,7 +1767,7 @@ TEST_CASE("[Variant] Writer and parser Vector2") {
}
TEST_CASE("[Variant] Writer and parser array") {
Array a = build_array(1, String("hello"), build_array(Variant()));
Array a = { 1, String("hello"), Array({ Variant() }) };
String a_str;
VariantWriter::write_to_string(a, a_str);
@@ -1838,7 +1818,7 @@ TEST_CASE("[Variant] Writer recursive array") {
TEST_CASE("[Variant] Writer and parser dictionary") {
// d = {{1: 2}: 3, 4: "hello", 5: {null: []}}
Dictionary d = build_dictionary(build_dictionary(1, 2), 3, 4, String("hello"), 5, build_dictionary(Variant(), build_array()));
Dictionary d = { { Dictionary({ { 1, 2 } }), 3 }, { 4, String("hello") }, { 5, Dictionary({ { Variant(), Array() } }) } };
String d_str;
VariantWriter::write_to_string(d, d_str);
@@ -1856,7 +1836,7 @@ TEST_CASE("[Variant] Writer and parser dictionary") {
}
TEST_CASE("[Variant] Writer key sorting") {
Dictionary d = build_dictionary(StringName("C"), 3, "A", 1, StringName("B"), 2, "D", 4);
Dictionary d = { { StringName("C"), 3 }, { "A", 1 }, { StringName("B"), 2 }, { "D", 4 } };
String d_str;
VariantWriter::write_to_string(d, d_str);
@@ -2145,9 +2125,9 @@ TEST_CASE("[Variant] Identity comparison") {
}
TEST_CASE("[Variant] Nested array comparison") {
Array a1 = build_array(1, build_array(2, 3));
Array a2 = build_array(1, build_array(2, 3));
Array a_other = build_array(1, build_array(2, 4));
Array a1 = { 1, { 2, 3 } };
Array a2 = { 1, { 2, 3 } };
Array a_other = { 1, { 2, 4 } };
Variant v_a1 = a1;
Variant v_a1_ref2 = a1;
Variant v_a2 = a2;
@@ -2165,10 +2145,10 @@ TEST_CASE("[Variant] Nested array comparison") {
}
TEST_CASE("[Variant] Nested dictionary comparison") {
Dictionary d1 = build_dictionary(build_dictionary(1, 2), build_dictionary(3, 4));
Dictionary d2 = build_dictionary(build_dictionary(1, 2), build_dictionary(3, 4));
Dictionary d_other_key = build_dictionary(build_dictionary(1, 0), build_dictionary(3, 4));
Dictionary d_other_val = build_dictionary(build_dictionary(1, 2), build_dictionary(3, 0));
Dictionary d1 = { { Dictionary({ { 1, 2 } }), Dictionary({ { 3, 4 } }) } };
Dictionary d2 = { { Dictionary({ { 1, 2 } }), Dictionary({ { 3, 4 } }) } };
Dictionary d_other_key = { { Dictionary({ { 1, 0 } }), Dictionary({ { 3, 4 } }) } };
Dictionary d_other_val = { { Dictionary({ { 1, 2 } }), Dictionary({ { 3, 0 } }) } };
Variant v_d1 = d1;
Variant v_d1_ref2 = d1;
Variant v_d2 = d2;