diff options
Diffstat (limited to 'tests/test_dictionary.h')
-rw-r--r-- | tests/test_dictionary.h | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/tests/test_dictionary.h b/tests/test_dictionary.h deleted file mode 100644 index b94cf36109..0000000000 --- a/tests/test_dictionary.h +++ /dev/null @@ -1,159 +0,0 @@ -/*************************************************************************/ -/* test_dictionary.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#ifndef TEST_DICTIONARY_H -#define TEST_DICTIONARY_H - -#include "core/templates/ordered_hash_map.h" -#include "core/templates/safe_refcount.h" -#include "core/variant/dictionary.h" -#include "core/variant/variant.h" -#include "tests/test_macros.h" - -namespace TestDictionary { - -TEST_CASE("[Dictionary] Assignment using bracket notation ([])") { - Dictionary map; - map["Hello"] = 0; - CHECK(int(map["Hello"]) == 0); - map["Hello"] = 3; - CHECK(int(map["Hello"]) == 3); - map["World!"] = 4; - CHECK(int(map["World!"]) == 4); - - // Test non-string keys, since keys can be of any Variant type. - map[12345] = -5; - CHECK(int(map[12345]) == -5); - map[false] = 128; - CHECK(int(map[false]) == 128); - map[Vector2(10, 20)] = 30; - CHECK(int(map[Vector2(10, 20)]) == 30); - map[0] = 400; - CHECK(int(map[0]) == 400); - // Check that assigning 0 doesn't overwrite the value for `false`. - CHECK(int(map[false]) == 128); -} - -TEST_CASE("[Dictionary] == and != operators") { - Dictionary map1; - Dictionary map2; - CHECK(map1 != map2); - map1[1] = 3; - map2 = map1; - CHECK(map1 == map2); -} - -TEST_CASE("[Dictionary] get_key_lists()") { - Dictionary map; - List<Variant> keys; - List<Variant> *ptr = &keys; - map.get_key_list(ptr); - CHECK(keys.is_empty()); - map[1] = 3; - map.get_key_list(ptr); - CHECK(keys.size() == 1); - CHECK(int(keys[0]) == 1); - map[2] = 4; - map.get_key_list(ptr); - CHECK(keys.size() == 3); -} - -TEST_CASE("[Dictionary] get_key_at_index()") { - Dictionary map; - map[4] = 3; - Variant val = map.get_key_at_index(0); - CHECK(int(val) == 4); - map[3] = 1; - val = map.get_key_at_index(0); - CHECK(int(val) == 4); - val = map.get_key_at_index(1); - CHECK(int(val) == 3); -} - -TEST_CASE("[Dictionary] getptr()") { - Dictionary map; - map[1] = 3; - Variant *key = map.getptr(1); - CHECK(int(*key) == 3); - key = map.getptr(2); - CHECK(key == nullptr); -} - -TEST_CASE("[Dictionary] get_valid()") { - Dictionary map; - map[1] = 3; - Variant val = map.get_valid(1); - CHECK(int(val) == 3); -} -TEST_CASE("[Dictionary] get()") { - Dictionary map; - map[1] = 3; - Variant val = map.get(1, -1); - CHECK(int(val) == 3); -} - -TEST_CASE("[Dictionary] size(), empty() and clear()") { - Dictionary map; - CHECK(map.size() == 0); - CHECK(map.is_empty()); - map[1] = 3; - CHECK(map.size() == 1); - CHECK(!map.is_empty()); - map.clear(); - CHECK(map.size() == 0); - CHECK(map.is_empty()); -} - -TEST_CASE("[Dictionary] has() and has_all()") { - Dictionary map; - CHECK(map.has(1) == false); - map[1] = 3; - CHECK(map.has(1)); - Array keys; - keys.push_back(1); - CHECK(map.has_all(keys)); - keys.push_back(2); - CHECK(map.has_all(keys) == false); -} - -TEST_CASE("[Dictionary] keys() and values()") { - Dictionary map; - Array keys = map.keys(); - Array values = map.values(); - CHECK(keys.is_empty()); - CHECK(values.is_empty()); - map[1] = 3; - keys = map.keys(); - values = map.values(); - CHECK(int(keys[0]) == 1); - CHECK(int(values[0]) == 3); -} -} // namespace TestDictionary -#endif // TEST_DICTIONARY_H |