Worked on a central test cases
This commit is contained in:
parent
804ea303ea
commit
f2614f4f25
|
|
@ -0,0 +1,251 @@
|
|||
# Kyler Olsen
|
||||
# SLS Test Cases
|
||||
# November 2025
|
||||
|
||||
# Could you now help me by creating test cases. Just start by naming any new categories I should have, then I will ask you to name new tests. Token strings should have their tokens listed with in their data
|
||||
|
||||
# - name: Test Name
|
||||
# code: "Test Code"
|
||||
# # Lexed tokens or lexer error
|
||||
# tokens:
|
||||
# - type: Token Type
|
||||
# value: Token Value
|
||||
# lexer_error:
|
||||
# message: Error message.
|
||||
# # Parsed operations or parsing error (if no lexer error)
|
||||
# operations:
|
||||
# - function: Operation Name
|
||||
# parsing_error:
|
||||
# message: Error message.
|
||||
# # Final stack state and/or runtime error (if no lexer or parsing error)
|
||||
# stack_final:
|
||||
# - type: Stack Item Type
|
||||
# value: Stack Item Value
|
||||
# runtime_error:
|
||||
# message: Error message.
|
||||
|
||||
# Basic Identifiers
|
||||
|
||||
- name: Identifier Hello
|
||||
code: "Hello"
|
||||
tokens:
|
||||
- type: identifier
|
||||
value: Hello
|
||||
operations:
|
||||
- function: Hello
|
||||
runtime_error:
|
||||
message: Function "Hello" not found.
|
||||
|
||||
- name: Identifier Plus
|
||||
code: "+"
|
||||
tokens:
|
||||
- type: identifier
|
||||
value: "+"
|
||||
operations:
|
||||
- function: "+"
|
||||
runtime_error:
|
||||
message: Function "+" requires 2 "Addable" on the stack.
|
||||
|
||||
- name: Identifier Rotate
|
||||
code: "rot"
|
||||
tokens:
|
||||
- type: identifier
|
||||
value: rot
|
||||
operations:
|
||||
- function: rot
|
||||
runtime_error:
|
||||
message: Function "rot" requires 3 "Stackable" on the stack.
|
||||
|
||||
- name: Identifier Swap and Duplicate
|
||||
code: "swap dup"
|
||||
tokens:
|
||||
- type: identifier
|
||||
value: swap
|
||||
- type: identifier
|
||||
value: dup
|
||||
operations:
|
||||
- function: swap
|
||||
- function: dup
|
||||
runtime_error:
|
||||
message: Function "swap" requires 2 "Stackable" on the stack.
|
||||
|
||||
- name: Identifier Depth
|
||||
code: "depth"
|
||||
tokens:
|
||||
- type: identifier
|
||||
value: depth
|
||||
operations:
|
||||
- function: depth
|
||||
stack_final:
|
||||
- type: i64
|
||||
value: 0
|
||||
|
||||
# Basic Identifier Literals
|
||||
|
||||
- name: Identifier Literal Point
|
||||
code: "::Point"
|
||||
tokens:
|
||||
- type: identifier_literal
|
||||
value: Point
|
||||
operations:
|
||||
- function: push
|
||||
type: identifier_literal
|
||||
value: Point
|
||||
stack_final:
|
||||
- type: identifier_literal
|
||||
value: Point
|
||||
|
||||
- name: Identifier Literal Multiply
|
||||
code: "::*"
|
||||
tokens:
|
||||
- type: identifier_literal
|
||||
value: "*"
|
||||
operations:
|
||||
- function: push
|
||||
type: identifier_literal
|
||||
value: "*"
|
||||
stack_final:
|
||||
- type: identifier_literal
|
||||
value: "*"
|
||||
|
||||
- name: Identifier Literal Name
|
||||
code: "::name"
|
||||
tokens:
|
||||
- type: identifier_literal
|
||||
value: name
|
||||
operations:
|
||||
- function: push
|
||||
type: identifier_literal
|
||||
value: name
|
||||
stack_final:
|
||||
- type: identifier_literal
|
||||
value: name
|
||||
|
||||
# Basic Integers
|
||||
|
||||
- name: Integer Default Decimal 15
|
||||
code: "15"
|
||||
tokens:
|
||||
- type: i64
|
||||
value: 15
|
||||
operations:
|
||||
- function: push
|
||||
type: i64
|
||||
value: 15
|
||||
stack_final:
|
||||
- type: i64
|
||||
value: 15
|
||||
|
||||
- name: Integer Default Hex E1
|
||||
code: "0xE1"
|
||||
tokens:
|
||||
- type: i64
|
||||
value: 225
|
||||
operations:
|
||||
- function: push
|
||||
type: i64
|
||||
value: 225
|
||||
stack_final:
|
||||
- type: i64
|
||||
value: 225
|
||||
|
||||
- name: Integer Default Hex b2
|
||||
code: "0xb2"
|
||||
tokens:
|
||||
- type: i64
|
||||
value: 178
|
||||
operations:
|
||||
- function: push
|
||||
type: i64
|
||||
value: 178
|
||||
stack_final:
|
||||
- type: i64
|
||||
value: 178
|
||||
|
||||
- name: Integer Default Binary 1010
|
||||
code: "0b1010"
|
||||
tokens:
|
||||
- type: i64
|
||||
value: 10
|
||||
operations:
|
||||
- function: push
|
||||
type: i64
|
||||
value: 10
|
||||
stack_final:
|
||||
- type: i64
|
||||
value: 10
|
||||
|
||||
- name: Integer Default Decimal 2,001,650
|
||||
code: "2_001_650"
|
||||
tokens:
|
||||
- type: i64
|
||||
value: 2001650
|
||||
operations:
|
||||
- function: push
|
||||
type: i64
|
||||
value: 2001650
|
||||
stack_final:
|
||||
- type: i64
|
||||
value: 2001650
|
||||
|
||||
- name: Integer i64 Decimal 5
|
||||
- name: Integer i64 Hex 5f
|
||||
- name: Integer i64 Binary 10110
|
||||
|
||||
# Basic Floats
|
||||
# Basic Strings
|
||||
# Basic Booleans
|
||||
# Basic Arrays
|
||||
# Basic Token Strings
|
||||
# Stack Operations
|
||||
# Arithmetic Operations
|
||||
# Comparison Operations
|
||||
# Logical Operations
|
||||
# Bitwise Operations
|
||||
# Function Definitions
|
||||
# Lambda Functions
|
||||
# Conditional Statements
|
||||
# While Loops
|
||||
# For Loops
|
||||
# Match Statements
|
||||
# Structs
|
||||
# Unions
|
||||
# Enums
|
||||
# Array Operations
|
||||
# Array Combinators
|
||||
# Array Arithmetic
|
||||
# Array Manipulation
|
||||
# Type Inference
|
||||
# Type Tuples
|
||||
# Trait Definition
|
||||
# Trait Implementation
|
||||
# Trait Inheritance
|
||||
# Stackable Trait
|
||||
# Addable Trait
|
||||
# Multiplyable Trait
|
||||
# Exponentiable Trait
|
||||
# Logarithmic Trait
|
||||
# Number Trait
|
||||
# Orderable Trait
|
||||
# Equatable Trait
|
||||
# Comparable Trait
|
||||
# Logical Trait
|
||||
# Bitwise Trait
|
||||
# Sized Trait
|
||||
# Selectable<T> Trait
|
||||
# Sliceable Trait
|
||||
# Concatenable Trait
|
||||
# ArrayOf<T> Trait
|
||||
# Iterable<T> Trait
|
||||
# Convertible Trait
|
||||
# Stringifiable Trait
|
||||
# Parseable Trait
|
||||
# String Trait
|
||||
# Size Trait
|
||||
# Identifier Trait
|
||||
# Implementable Trait
|
||||
# Generics
|
||||
# Eval
|
||||
# Std Lib IO
|
||||
# Std Lib Strings
|
||||
# Std Lib Type conversions
|
||||
Loading…
Reference in New Issue