From cd27bdf2e0b5e060cd4a5d8709d3e1850fddc8b0 Mon Sep 17 00:00:00 2001 From: rhpidfyre Date: Tue, 15 Jul 2025 01:28:53 -0400 Subject: [PATCH] tests --- tests/luau/map_filter.luau | 8 ++------ tests/luau/reduce.luau | 13 +++++++++++++ tests/luau/reverse.luau | 13 +++++++++++++ tests/luau/slice.luau | 18 ++++++++++++++++++ tests/luau/sort.luau | 11 +++++++++++ tests/start.sh | 10 +++++++--- 6 files changed, 64 insertions(+), 9 deletions(-) create mode 100644 tests/luau/reduce.luau create mode 100644 tests/luau/reverse.luau create mode 100644 tests/luau/slice.luau create mode 100644 tests/luau/sort.luau diff --git a/tests/luau/map_filter.luau b/tests/luau/map_filter.luau index a708dc4..62aff82 100644 --- a/tests/luau/map_filter.luau +++ b/tests/luau/map_filter.luau @@ -6,9 +6,7 @@ local numbers = Array.new() for i = 1, 100 do numbers:push(i) end -print(numbers:debug_display(), "\nlength=", numbers:len()) - -local start = os.clock() +print(numbers:tostring(), "\nlength=", numbers:len()) numbers:map(function(n: number) return tostring(n) @@ -16,6 +14,4 @@ end):foreach(function(e) print("(:map)squared=", e) end) numbers:filter(function(n: number) return bit32.band(n, 1) ~= 0 -end):foreach(function(e) print("(:filter)odd=", e) end) - -print(os.clock()-start) \ No newline at end of file +end):foreach(function(e) print("(:filter)odd=", e) end) \ No newline at end of file diff --git a/tests/luau/reduce.luau b/tests/luau/reduce.luau new file mode 100644 index 0000000..3d097e2 --- /dev/null +++ b/tests/luau/reduce.luau @@ -0,0 +1,13 @@ +--!strict + +local Array = require("../../luau/src") + +local numbers = Array.new({1, 2, 3, 4}) + +print(numbers:tostring(), "\nlength=", numbers:len()) + +local sum = numbers:reduce(function(accumulator: number, currentValue: number) + return accumulator - currentValue +end) + +print("sum=", sum) \ No newline at end of file diff --git a/tests/luau/reverse.luau b/tests/luau/reverse.luau new file mode 100644 index 0000000..39941dc --- /dev/null +++ b/tests/luau/reverse.luau @@ -0,0 +1,13 @@ +--!strict + +local Array = require("../../luau/src") + +local numbers = Array.new() +for i = 1, 100 do + numbers:push(i) +end +print(numbers:tostring(), "\nlength=", numbers:len()) + +numbers:reverse() + +print(numbers:tostring()) \ No newline at end of file diff --git a/tests/luau/slice.luau b/tests/luau/slice.luau new file mode 100644 index 0000000..82279bc --- /dev/null +++ b/tests/luau/slice.luau @@ -0,0 +1,18 @@ +--!strict + +local Array = require("../../luau/src") + +local animals = Array.new({"ant", "bison", "camel", "duck", "elephant"}) + +print(animals:tostring(), "\nlength=", animals:len()) + +local slice = animals:slice(3) +local slice2 = animals:slice(2,4) +local slice3 = animals:slice(1,5) + +print("(:slice 3)" .. slice:tostring()) +print("(:slice 2,4)" .. slice2:tostring()) +print("(:slice 1,5)" .. slice3:tostring()) + +animals:join({"hi", "shrek"}) +print("(:join)" .. animals:tostring()) \ No newline at end of file diff --git a/tests/luau/sort.luau b/tests/luau/sort.luau new file mode 100644 index 0000000..a92896f --- /dev/null +++ b/tests/luau/sort.luau @@ -0,0 +1,11 @@ +--!strict + +local Array = require("../../luau/src") + +local months = Array.new({"March", "Jan", "Feb", "Dec"}) + +print(months:tostring(), "\nlength=", months:len()) + +months:sort() + +print(months:tostring()) \ No newline at end of file diff --git a/tests/start.sh b/tests/start.sh index 6624989..5c87a4e 100755 --- a/tests/start.sh +++ b/tests/start.sh @@ -1,11 +1,15 @@ #!/bin/bash touch results.txt +echo "" > results.txt test () { - echo "-- [Test: $1] --" > results.txt + echo -e "\n-- [Test: $1] --" >> results.txt luau $2 >> results.txt - echo "-- [Test: $1] --" >> results.txt } -test "map_filter" "./luau/map_filter.luau" \ No newline at end of file +test "map_filter" "./luau/map_filter.luau" +test "reverse" "./luau/reverse.luau" +test "reduce" "./luau/reduce.luau" +test "slice" "./luau/slice.luau" +test "sort" "./luau/sort.luau" \ No newline at end of file