diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-09-20 16:06:13 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-09-20 16:06:13 +0200 |
commit | 6bf8a3e3f8dadf485f733b8fd5a502a7d21a2ff1 (patch) | |
tree | 9cc17e4db8ecd7c16a9a40d627c1f7021a1a7a92 /tests/core/variant/test_array.h | |
parent | da9764ad438a0dab31f74791d1cf84612ed52c69 (diff) | |
parent | 89491f4403041ec81e8506a45f00f54033e45202 (diff) | |
download | redot-engine-6bf8a3e3f8dadf485f733b8fd5a502a7d21a2ff1.tar.gz |
Merge pull request #95449 from SlashScreen/array_functions
Add callable support for `find` and `rfind` `Array` methods
Diffstat (limited to 'tests/core/variant/test_array.h')
-rw-r--r-- | tests/core/variant/test_array.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/core/variant/test_array.h b/tests/core/variant/test_array.h index 787b8f39d9..15e2cebe09 100644 --- a/tests/core/variant/test_array.h +++ b/tests/core/variant/test_array.h @@ -634,6 +634,24 @@ TEST_CASE("[Array] Typed copying") { a6.clear(); } +static bool _find_custom_callable(const Variant &p_val) { + return (int)p_val % 2 == 0; +} + +TEST_CASE("[Array] Test find_custom") { + Array a1 = build_array(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); + // Find last even number. + int index = a1.rfind_custom(callable_mp_static(_find_custom_callable)); + CHECK_EQ(index, 4); +} + } // namespace TestArray #endif // TEST_ARRAY_H |