about summary refs log tree commit diff stats
path: root/awk/rawk/tests/stdlib/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'awk/rawk/tests/stdlib/README.md')
-rw-r--r--awk/rawk/tests/stdlib/README.md89
1 files changed, 0 insertions, 89 deletions
diff --git a/awk/rawk/tests/stdlib/README.md b/awk/rawk/tests/stdlib/README.md
deleted file mode 100644
index 1b7b028..0000000
--- a/awk/rawk/tests/stdlib/README.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Standard Library Tests
-
-This directory contains tests for the built-in standard library functions.
-
-## Test Files
-
-### `test_stdlib_simple.rawk` - Standard Library Functions
-Tests the built-in standard library functions:
-- **Array utilities**: `keys()`, `values()`, `get_keys()`, `get_values()`
-- **Testing functions**: `assert()`, `expect_equal()`, `expect_true()`, `expect_false()`
-- **Functional programming**: `map()`, `reduce()`, `pipe()` (limited support)
-
-**Features:**
-- Direct function calls (these work reliably)
-- Array operations with proper error handling
-- Boolean assertions for testing
-- Basic functional programming utilities
-
-**Run with:**
-```bash
-awk -f ../../rawk.awk test_stdlib_simple.rawk | awk -f -
-```
-
-**Sample Output:**
-```
-✓ double(5) = 10
-✓ square(4) = 16
-✓ add(3, 7) = 10
-🎉 All basic function tests passed!
-```
-
-## Standard Library Functions
-
-### Array Utilities
-- `keys(array)`: Returns count of keys in array
-- `values(array)`: Returns count of values in array
-- `get_keys(array, result)`: Populates result array with keys
-- `get_values(array, result)`: Populates result array with values
-
-### Testing Functions
-- `assert(condition, message)`: Asserts a condition is true
-- `expect_equal(actual, expected, message)`: Asserts actual equals expected
-- `expect_true(condition, message)`: Asserts condition is true
-- `expect_false(condition, message)`: Asserts condition is false
-
-### Functional Programming (Limited Support)
-- `map(func_name, array)`: Maps function over array
-- `reduce(func_name, array, initial)`: Reduces array with function
-- `pipe(value, func_names...)`: Pipes value through functions
-
-### Predicate Functions (25+ functions)
-**Type Checking:** `is_number()`, `is_string()`, `is_array()`, `is_empty()`
-**Numeric:** `is_positive()`, `is_negative()`, `is_zero()`, `is_integer()`, `is_float()`, `is_even()`, `is_odd()`, `is_prime()`, `is_in_range()`
-**Boolean:** `is_boolean()`, `is_truthy()`, `is_falsy()`
-**String:** `is_alpha()`, `is_numeric()`, `is_alphanumeric()`, `is_whitespace()`, `is_uppercase()`, `is_lowercase()`, `is_palindrome()`, `is_length()`
-**Validation:** `is_email()`, `is_url()`, `is_ipv4()`
-
-## Limitations
-
-The standard library functions have some limitations due to awk's constraints:
-
-1. **Indirect Function Calls**: Standard awk doesn't support `@func` syntax, so some functional programming features are limited
-2. **Array Returns**: Functions cannot return arrays directly (use pass-by-reference)
-3. **String-based Dispatch**: The `map` and `reduce` functions work with string function names but have limited support
-
-## Usage Examples
-
-### Array Operations
-```rawk
-data["a"] = 1
-data["b"] = 2
-data["c"] = 3
-
-key_count = keys(data)  # Returns 3
-get_keys(data, key_array)  # Populates key_array with keys
-```
-
-### Testing
-```rawk
-result = add(2, 3)
-expect_equal(result, 5, "add(2, 3) should return 5")
-expect_true(result > 0, "result should be positive")
-```
-
-### Functional Programming
-```rawk
-numbers[1] = 1; numbers[2] = 2; numbers[3] = 3
-doubled = map("double", numbers)  # Limited support
-``` 
\ No newline at end of file