summaryrefslogtreecommitdiff
path: root/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd
diff options
context:
space:
mode:
Diffstat (limited to 'addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd')
-rw-r--r--addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd22
1 files changed, 22 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd b/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd
new file mode 100644
index 0000000..f779bd7
--- /dev/null
+++ b/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd
@@ -0,0 +1,22 @@
+class_name ChainedArgumentMatcher
+extends GdUnitArgumentMatcher
+
+var _matchers :Array
+
+
+func _init(matchers :Array) -> void:
+ _matchers = matchers
+
+
+func is_match(arguments :Variant) -> bool:
+ var arg_array: Array = arguments
+ if arg_array == null or arg_array.size() != _matchers.size():
+ return false
+
+ for index in arg_array.size():
+ var arg: Variant = arg_array[index]
+ var matcher: GdUnitArgumentMatcher = _matchers[index]
+
+ if not matcher.is_match(arg):
+ return false
+ return true