154 lines
7.6 KiB
GDScript
154 lines
7.6 KiB
GDScript
# GdUnit generated TestSuite
|
|
class_name GdArrayToolsTest
|
|
extends GdUnitTestSuite
|
|
@warning_ignore('unused_parameter')
|
|
@warning_ignore('return_value_discarded')
|
|
|
|
# TestSuite generated from
|
|
const __source = 'res://addons/gdUnit4/src/core/GdArrayTools.gd'
|
|
|
|
|
|
@warning_ignore('unused_parameter')
|
|
func test_as_string(_test :String, value, expected :String, test_parameters = [
|
|
['Array', Array([1, 2]), '[1, 2]'],
|
|
['Array', Array([1.0, 2.212]), '[1.000000, 2.212000]'],
|
|
['Array', Array([true, false]), '[true, false]'],
|
|
['Array', Array(["1", "2"]), '["1", "2"]'],
|
|
['Array', Array([Vector2.ZERO, Vector2.LEFT]), '[Vector2(), Vector2(-1, 0)]'],
|
|
['Array', Array([Vector3.ZERO, Vector3.LEFT]), '[Vector3(), Vector3(-1, 0, 0)]'],
|
|
['Array', Array([Color.RED, Color.GREEN]), '[Color(1, 0, 0, 1), Color(0, 1, 0, 1)]'],
|
|
['ArrayInt', Array([1, 2]) as Array[int], '[1, 2]'],
|
|
['ArrayFloat', Array([1.0, 2.212]) as Array[float], '[1.000000, 2.212000]'],
|
|
['ArrayBool', Array([true, false]) as Array[bool], '[true, false]'],
|
|
['ArrayString', Array(["1", "2"]) as Array[String], '["1", "2"]'],
|
|
['ArrayVector2', Array([Vector2.ZERO, Vector2.LEFT]) as Array[Vector2], '[Vector2(), Vector2(-1, 0)]'],
|
|
['ArrayVector2i', Array([Vector2i.ZERO, Vector2i.LEFT]) as Array[Vector2i], '[Vector2i(), Vector2i(-1, 0)]'],
|
|
['ArrayVector3', Array([Vector3.ZERO, Vector3.LEFT]) as Array[Vector3], '[Vector3(), Vector3(-1, 0, 0)]'],
|
|
['ArrayVector3i', Array([Vector3i.ZERO, Vector3i.LEFT]) as Array[Vector3i], '[Vector3i(), Vector3i(-1, 0, 0)]'],
|
|
['ArrayVector4', Array([Vector4.ZERO, Vector4.ONE]) as Array[Vector4], '[Vector4(), Vector4(1, 1, 1, 1)]'],
|
|
['ArrayVector4i', Array([Vector4i.ZERO, Vector4i.ONE]) as Array[Vector4i], '[Vector4i(), Vector4i(1, 1, 1, 1)]'],
|
|
['ArrayColor', Array([Color.RED, Color.GREEN]) as Array[Color], '[Color(1, 0, 0, 1), Color(0, 1, 0, 1)]'],
|
|
['PackedByteArray', PackedByteArray([1, 2]), 'PackedByteArray[1, 2]'],
|
|
['PackedInt32Array', PackedInt32Array([1, 2]), 'PackedInt32Array[1, 2]'],
|
|
['PackedInt64Array', PackedInt64Array([1, 2]), 'PackedInt64Array[1, 2]'],
|
|
['PackedFloat32Array', PackedFloat32Array([1, 2.212]), 'PackedFloat32Array[1.000000, 2.212000]'],
|
|
['PackedFloat64Array', PackedFloat64Array([1, 2.212]), 'PackedFloat64Array[1.000000, 2.212000]'],
|
|
['PackedStringArray', PackedStringArray([1, 2]), 'PackedStringArray["1", "2"]'],
|
|
['PackedVector2Array', PackedVector2Array([Vector2.ZERO, Vector2.LEFT]), 'PackedVector2Array[Vector2(), Vector2(-1, 0)]'],
|
|
['PackedVector3Array', PackedVector3Array([Vector3.ZERO, Vector3.LEFT]), 'PackedVector3Array[Vector3(), Vector3(-1, 0, 0)]'],
|
|
['PackedColorArray', PackedColorArray([Color.RED, Color.GREEN]), 'PackedColorArray[Color(1, 0, 0, 1), Color(0, 1, 0, 1)]'],
|
|
]) -> void:
|
|
|
|
assert_that(GdArrayTools.as_string(value)).is_equal(expected)
|
|
|
|
|
|
func test_as_string_simple_format():
|
|
var value := PackedStringArray(["a", "b"])
|
|
prints(GdArrayTools.as_string(value, false))
|
|
assert_that(GdArrayTools.as_string(value, false)).is_equal('[a, b]')
|
|
|
|
|
|
@warning_ignore("unused_parameter")
|
|
func test_is_array_type(_test :String, value, expected :bool, test_parameters = [
|
|
['bool', true, false],
|
|
['int', 42, false],
|
|
['float', 1.21, false],
|
|
['String', "abc", false],
|
|
['Dictionary', {}, false],
|
|
['RefCounted', RefCounted.new(), false],
|
|
['Array', Array([1, 2]), true],
|
|
['Array', Array([1.0, 2.212]), true],
|
|
['Array', Array([true, false]), true],
|
|
['Array', Array(["1", "2"]), true],
|
|
['Array', Array([Vector2.ZERO, Vector2.LEFT]), true],
|
|
['Array', Array([Vector3.ZERO, Vector3.LEFT]), true],
|
|
['Array', Array([Color.RED, Color.GREEN]), true],
|
|
['ArrayInt', Array([1, 2]) as Array[int], true],
|
|
['ArrayFloat', Array([1.0, 2.212]) as Array[float], true],
|
|
['ArrayBool', Array([true, false]) as Array[bool], true],
|
|
['ArrayString', Array(["1", "2"]) as Array[String], true],
|
|
['ArrayVector2', Array([Vector2.ZERO, Vector2.LEFT]) as Array[Vector2], true],
|
|
['ArrayVector2i', Array([Vector2i.ZERO, Vector2i.LEFT]) as Array[Vector2i], true],
|
|
['ArrayVector3', Array([Vector3.ZERO, Vector3.LEFT]) as Array[Vector3], true],
|
|
['ArrayVector3i', Array([Vector3i.ZERO, Vector3i.LEFT]) as Array[Vector3i], true],
|
|
['ArrayVector4', Array([Vector4.ZERO, Vector4.ONE]) as Array[Vector4], true],
|
|
['ArrayVector4i', Array([Vector4i.ZERO, Vector4i.ONE]) as Array[Vector4i], true],
|
|
['ArrayColor', Array([Color.RED, Color.GREEN]) as Array[Color], true],
|
|
['PackedByteArray', PackedByteArray([1, 2]), true],
|
|
['PackedInt32Array', PackedInt32Array([1, 2]), true],
|
|
['PackedInt64Array', PackedInt64Array([1, 2]), true],
|
|
['PackedFloat32Array', PackedFloat32Array([1, 2.212]), true],
|
|
['PackedFloat64Array', PackedFloat64Array([1, 2.212]), true],
|
|
['PackedStringArray', PackedStringArray([1, 2]), true],
|
|
['PackedVector2Array', PackedVector2Array([Vector2.ZERO, Vector2.LEFT]), true],
|
|
['PackedVector3Array', PackedVector3Array([Vector3.ZERO, Vector3.LEFT]), true],
|
|
['PackedColorArray', PackedColorArray([Color.RED, Color.GREEN]), true],
|
|
]) -> void:
|
|
|
|
assert_that(GdArrayTools.is_array_type(value)).is_equal(expected)
|
|
|
|
|
|
func test_is_type_array() -> void:
|
|
for type in [TYPE_NIL, TYPE_MAX]:
|
|
if type in [TYPE_ARRAY, TYPE_PACKED_COLOR_ARRAY]:
|
|
assert_that(GdArrayTools.is_type_array(type)).is_true()
|
|
else:
|
|
assert_that(GdArrayTools.is_type_array(type)).is_false()
|
|
|
|
|
|
@warning_ignore("unused_parameter")
|
|
func test_filter_value(value, expected_type :int, test_parameters = [
|
|
[[1, 2, 3, 1], TYPE_ARRAY],
|
|
[Array([1, 2, 3, 1]) as Array[int], TYPE_ARRAY],
|
|
[PackedByteArray([1, 2, 3, 1]), TYPE_PACKED_BYTE_ARRAY],
|
|
[PackedInt32Array([1, 2, 3, 1]), TYPE_PACKED_INT32_ARRAY],
|
|
[PackedInt64Array([1, 2, 3, 1]), TYPE_PACKED_INT64_ARRAY],
|
|
[PackedFloat32Array([1.0, 2, 1.1, 1.0]), TYPE_PACKED_FLOAT32_ARRAY],
|
|
[PackedFloat64Array([1.0, 2, 1.1, 1.0]), TYPE_PACKED_FLOAT64_ARRAY],
|
|
[PackedStringArray(["1", "2", "3", "1"]), TYPE_PACKED_STRING_ARRAY],
|
|
[PackedVector2Array([Vector2.ZERO, Vector2.ONE, Vector2.DOWN, Vector2.ZERO]), TYPE_PACKED_VECTOR2_ARRAY],
|
|
[PackedVector3Array([Vector3.ZERO, Vector3.ONE, Vector3.DOWN, Vector3.ZERO]), TYPE_PACKED_VECTOR3_ARRAY],
|
|
[PackedColorArray([Color.RED, Color.GREEN, Color.BLUE, Color.RED]), TYPE_PACKED_COLOR_ARRAY]
|
|
]) -> void:
|
|
|
|
var value_to_remove = value[0]
|
|
var result :Variant = GdArrayTools.filter_value(value, value_to_remove)
|
|
assert_array(result).not_contains([value_to_remove]).has_size(2)
|
|
assert_that(typeof(result)).is_equal(expected_type)
|
|
|
|
|
|
func test_filter_value_() -> void:
|
|
assert_array(GdArrayTools.filter_value([], null)).is_empty()
|
|
assert_array(GdArrayTools.filter_value([], "")).is_empty()
|
|
|
|
var current :Array = [null, "a", "b", null, "c", null]
|
|
var filtered :Variant= GdArrayTools.filter_value(current, null)
|
|
assert_array(filtered).contains_exactly(["a", "b", "c"])
|
|
# verify the source is not affected
|
|
assert_array(current).contains_exactly([null, "a", "b", null, "c", null])
|
|
|
|
current = [null, "a", "xxx", null, "xx", null]
|
|
filtered = GdArrayTools.filter_value(current, "xxx")
|
|
assert_array(filtered).contains_exactly([null, "a", null, "xx", null])
|
|
# verify the source is not affected
|
|
assert_array(current).contains_exactly([null, "a", "xxx", null, "xx", null])
|
|
|
|
|
|
func test_erase_value() -> void:
|
|
var current := []
|
|
GdArrayTools.erase_value(current, null)
|
|
assert_array(current).is_empty()
|
|
|
|
current = [null]
|
|
GdArrayTools.erase_value(current, null)
|
|
assert_array(current).is_empty()
|
|
|
|
current = [null, "a", "b", null, "c", null]
|
|
GdArrayTools.erase_value(current, null)
|
|
# verify the source is affected
|
|
assert_array(current).contains_exactly(["a", "b", "c"])
|
|
|
|
|
|
func test_scan_typed() -> void:
|
|
assert_that(GdArrayTools.scan_typed([1, 2, 3])).is_equal(TYPE_INT)
|
|
assert_that(GdArrayTools.scan_typed([1, 2.2, 3])).is_equal(GdObjects.TYPE_VARIANT)
|