mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Remove build_array and build_dictionary from tests
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user