about summary refs log tree commit diff stats
path: root/js/scripting-lang/baba-yaga-c/test_stdlib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/baba-yaga-c/test_stdlib.sh')
-rwxr-xr-xjs/scripting-lang/baba-yaga-c/test_stdlib.sh296
1 files changed, 0 insertions, 296 deletions
diff --git a/js/scripting-lang/baba-yaga-c/test_stdlib.sh b/js/scripting-lang/baba-yaga-c/test_stdlib.sh
deleted file mode 100755
index 6c13674..0000000
--- a/js/scripting-lang/baba-yaga-c/test_stdlib.sh
+++ /dev/null
@@ -1,296 +0,0 @@
-#!/bin/bash
-
-# Comprehensive Standard Library Test Suite for Baba Yaga C Implementation
-
-echo "=== Baba Yaga Standard Library Test Suite ==="
-echo ""
-
-# Colors for output
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-BLUE='\033[0;34m'
-NC='\033[0m' # No Color
-
-# Function to run a test
-run_test() {
-    local expression=$1
-    local expected=$2
-    local test_name=$3
-    
-    echo -n "Testing $test_name... "
-    
-    local output
-    local exit_code
-    output=$(./bin/baba-yaga "$expression;" 2>&1)
-    exit_code=$?
-    
-    if [ $exit_code -eq 0 ] && [ "$(echo -n "$output")" = "$expected" ]; then
-        echo -e "${GREEN}PASS${NC} (got: $output)"
-        return 0
-    else
-        echo -e "${RED}FAIL${NC}"
-        echo -e "${RED}Expected:${NC} $expected"
-        echo -e "${RED}Got:${NC} $output"
-        return 1
-    fi
-}
-
-# Function to run an error test
-run_error_test() {
-    local expression=$1
-    local test_name=$2
-    
-    echo -n "Testing $test_name (should fail)... "
-    
-    local output
-    local exit_code
-    output=$(./bin/baba-yaga "$expression;" 2>&1)
-    exit_code=$?
-    
-    if [ $exit_code -eq 0 ] && echo "$output" | grep -q "Error:"; then
-        echo -e "${GREEN}PASS${NC} (correctly failed with error message)"
-        return 0
-    else
-        echo -e "${RED}FAIL${NC}"
-        echo -e "${RED}Expected:${NC} Error message"
-        echo -e "${RED}Got:${NC} $output"
-        return 1
-    fi
-}
-
-# Counters
-total_tests=0
-passed_tests=0
-failed_tests=0
-
-echo "Running Arithmetic Function Tests..."
-echo "==================================="
-
-# Basic arithmetic tests
-arithmetic_tests=(
-    "add 5 3|8|Add Function"
-    "subtract 10 3|7|Subtract Function"
-    "multiply 6 7|42|Multiply Function"
-    "divide 15 3|5|Divide Function"
-    "modulo 10 3|1|Modulo Function"
-    "pow 2 3|8|Power Function"
-    "negate 5|-5|Negate Function"
-    "add 0 0|0|Add Zero"
-    "multiply 0 5|0|Multiply by Zero"
-    "divide 0 5|0|Divide Zero by Number"
-    "pow 5 0|1|Power to Zero"
-    "pow 1 100|1|Power of One"
-)
-
-for test in "${arithmetic_tests[@]}"; do
-    IFS='|' read -r expression expected name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_test "$expression" "$expected" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running Arithmetic Error Tests..."
-echo "================================="
-
-# Arithmetic error tests
-arithmetic_error_tests=(
-    "divide 10 0:Division by Zero"
-    "modulo 10 0:Modulo by Zero"
-    "add 5:Too Few Arguments for Add"
-    "add 1 2 3:Too Many Arguments for Add"
-    "divide 5:Too Few Arguments for Divide"
-    "divide 1 2 3:Too Many Arguments for Divide"
-)
-
-for test in "${arithmetic_error_tests[@]}"; do
-    IFS=':' read -r expression name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_error_test "$expression" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running Comparison Function Tests..."
-echo "==================================="
-
-# Comparison tests
-comparison_tests=(
-    "equals 5 5|true|Equality True"
-    "equals 5 6|false|Equality False"
-    "not_equals 5 6|true|Inequality True"
-    "not_equals 5 5|false|Inequality False"
-    "less 3 5|true|Less Than True"
-    "less 5 3|false|Less Than False"
-    "less 5 5|false|Less Than Equal"
-    "less_equal 5 5|true|Less Equal True"
-    "less_equal 3 5|true|Less Equal True"
-    "less_equal 5 3|false|Less Equal False"
-    "greater 10 5|true|Greater Than True"
-    "greater 5 10|false|Greater Than False"
-    "greater 5 5|false|Greater Than Equal"
-    "greater_equal 5 5|true|Greater Equal True"
-    "greater_equal 10 5|true|Greater Equal True"
-    "greater_equal 5 10|false|Greater Equal False"
-)
-
-for test in "${comparison_tests[@]}"; do
-    IFS='|' read -r expression expected name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_test "$expression" "$expected" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running Logical Function Tests..."
-echo "================================="
-
-# Logical tests
-logical_tests=(
-    "and true true|true|And True True"
-    "and true false|false|And True False"
-    "and false true|false|And False True"
-    "and false false|false|And False False"
-    "or true true|true|Or True True"
-    "or true false|true|Or True False"
-    "or false true|true|Or False True"
-    "or false false|false|Or False False"
-    "xor true true|false|Xor True True"
-    "xor true false|true|Xor True False"
-    "xor false true|true|Xor False True"
-    "xor false false|false|Xor False False"
-    "not true|false|Not True"
-    "not false|true|Not False"
-)
-
-for test in "${logical_tests[@]}"; do
-    IFS='|' read -r expression expected name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_test "$expression" "$expected" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running Higher-Order Function Tests..."
-echo "======================================"
-
-# Higher-order function tests
-higher_order_tests=(
-    "apply add 5 3|8|Apply Add Function"
-    "apply multiply 4 5|20|Apply Multiply Function"
-    "compose add 5 multiply 2|15|Compose Add and Multiply"
-)
-
-for test in "${higher_order_tests[@]}"; do
-    IFS='|' read -r expression expected name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_test "$expression" "$expected" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running IO Function Tests..."
-echo "============================"
-
-# IO function tests (basic functionality)
-io_tests=(
-    "..out 42|42|Output Function"
-    "..out hello|hello|Output String"
-    "..assert true|true|Assert True"
-    "..assert false|false|Assert False"
-)
-
-for test in "${io_tests[@]}"; do
-    IFS='|' read -r expression expected name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_test "$expression" "$expected" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running Type Error Tests..."
-echo "=========================="
-
-# Type error tests
-type_error_tests=(
-    "add 5 true:Type Mismatch Add"
-    "equals 5 hello:Type Mismatch Equals"
-    "less true false:Type Mismatch Less"
-    "and 5 3:Type Mismatch And"
-    "not 42:Type Mismatch Not"
-)
-
-for test in "${type_error_tests[@]}"; do
-    IFS=':' read -r expression name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_error_test "$expression" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "Running Edge Case Tests..."
-echo "========================="
-
-# Edge case tests
-edge_case_tests=(
-    "add 0.1 0.2|0.3|Floating Point Addition"
-    "multiply 0.5 0.5|0.25|Floating Point Multiplication"
-    "divide 1 3|0.3333333333333333|Floating Point Division"
-    "pow 2 0.5|1.4142135623730951|Square Root"
-    "pow 2 -1|0.5|Negative Power"
-    "modulo 5.5 2|1.5|Floating Point Modulo"
-)
-
-for test in "${edge_case_tests[@]}"; do
-    IFS='|' read -r expression expected name <<< "$test"
-    total_tests=$((total_tests + 1))
-    
-    if run_test "$expression" "$expected" "$name"; then
-        passed_tests=$((passed_tests + 1))
-    else
-        failed_tests=$((failed_tests + 1))
-    fi
-done
-
-echo ""
-echo "=== Test Summary ==="
-echo "Total tests: $total_tests"
-echo -e "Passed: ${GREEN}$passed_tests${NC}"
-echo -e "Failed: ${RED}$failed_tests${NC}"
-
-if [ $failed_tests -eq 0 ]; then
-    echo -e "${GREEN}All standard library tests passed!${NC}"
-    exit 0
-else
-    echo -e "${RED}Some standard library tests failed.${NC}"
-    exit 1
-fi 
\ No newline at end of file