summaryrefslogtreecommitdiff
path: root/Tests/Game/CommandParserTestBase.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Game/CommandParserTestBase.gd')
-rw-r--r--Tests/Game/CommandParserTestBase.gd29
1 files changed, 29 insertions, 0 deletions
diff --git a/Tests/Game/CommandParserTestBase.gd b/Tests/Game/CommandParserTestBase.gd
new file mode 100644
index 0000000..46b8b05
--- /dev/null
+++ b/Tests/Game/CommandParserTestBase.gd
@@ -0,0 +1,29 @@
+extends GutTest
+
+class_name CommandParserTestBase
+
+const CommandParser = preload("res://Scripts/Game/CommandParser.cs")
+
+var _instance: CommandParser
+
+func _to_bits(number: int, bits: int) -> Array:
+ var result = []
+ for bit in bits:
+ result.append(number & 1)
+ number = number >> 1
+ return result
+
+func before_each():
+ _instance = autofree(CommandParser.new())
+
+func generate_capitalization_permutations(text: String) -> Array:
+ var result = []
+
+ for permutation in pow(2, text.length()):
+ var mask = _to_bits(permutation, text.length())
+ var copy = String(text)
+ for index in len(mask):
+ if mask[index] == 1:
+ copy[index] = copy[index].to_upper()
+ result.append(copy)
+ return result;