Skip to content

Latest commit

 

History

History
920 lines (887 loc) · 28.9 KB

File metadata and controls

920 lines (887 loc) · 28.9 KB

Test session from 07/04/2023 01:14

Summary:

852 passed, 0 failed in 29 file(s)

Test file(s):

array.dy, autos.dy, bool.dy, builtins.dy, char.dy, complex.dy, control.dy, dictionary.dy, exceptions.dy, float.dy, function.dy, integer.dy, interop.dy, iterator.dy, lazy.dy, libcore.dy, libio.dy, loops.dy, match.dy, mixin.dy, modules.dy, nil.dy, operators.dy, ranges.dy, set.dy, string.dy, tuple.dy, types.dy, variant.dy

Report:

Tests/array.dy:

  • Array literal
  • Constructor
  • Methods: ToString
  • Methods: Clone
  • Methods: GetType
  • Methods: Add, AddRange, Remove, RemoveAt
  • Methods: RemoveAt
  • Methods: Add, Clear, Insert, Remove
  • Methods: Slice
  • Methods: Sort
  • Methods: IndexOf, LastIndexOf
  • Methods: Indices
  • Methods: Compact
  • Methods: Length
  • Methods: Empty
  • Methods: Concat
  • Methods: AddRange
  • Methods: InsertRange
  • Methods: Reverse
  • Methods: Reverse 2
  • Methods: Swap
  • Methods: RemoveRangeAt
  • Methods: RemoveRange 1
  • Methods: RemoveRange 2
  • Methods: RemoveAll
  • Methods: static sort 1
  • Methods: static sort 2
  • Range indices
  • Ranges
  • Addition 1
  • Addition 2
  • Insert into empty array
  • Complex sort
  • Methods: Copy 1
  • Methods: Copy 2
  • Methods: Copy 3
  • Methods: Copy 4
  • Methods: Copy 5
  • Methods: Contains
  • Negative indices
  • Complex equality
  • Conversion: as 1
  • Conversion: as 2
  • Methods: ToSet

Tests/autos.dy:

  • Simple 1
  • Simple 2
  • Simple 3
  • Simple 4
  • Simple 5
  • Autos in functions 1
  • Autos in functions 2
  • Autos in functions 3
  • Autos in functions 4
  • Autos in functions 5
  • Autos and exceptions 1
  • Autos and exceptions 2
  • Autos and exceptions 3
  • Autos and exceptions 4
  • Autos and exceptions 5
  • Autos in catch 1
  • Autos in catch 2
  • Autos in catch 3

Tests/bool.dy:

  • Constructor
  • Methods: Default
  • Methods: Min and Max
  • Methods: GetType
  • Conversion: as
  • Conversion to itself

Tests/builtins.dy:

  • parse 1
  • parse 2
  • parse 3
  • parse 4
  • eval
  • round
  • min
  • max
  • sign
  • sqrt
  • abs
  • rnd
  • pow
  • setOut
  • assert
  • rawget and rawset
  • rawset and read-only
  • constructorName
  • typeName
  • referenceEquals 1
  • referenceEquals 2
  • toString
  • mixins
  • length 1
  • length 2
  • clone

Tests/char.dy:

  • Char literal
  • Constructor
  • Methods: GetType
  • Methods: Default
  • Methods: Min and Max
  • Ranges
  • Char comparison
  • Methods: Upper and IsUpper
  • Methods: Lower and IsLower
  • Methods: IsWhitespace
  • Methods: IsControl
  • Methods: IsLetterOrDigit
  • Methods: Order
  • Math with chars
  • Conversion: as

Tests/complex.dy:

  • FizzBuzz
  • Factorial
  • Raise to power (recursion)
  • Binary conversion
  • Fibonacci 1
  • Fibonacchi 2
  • Phone parser
  • Calculate E
  • Damm
  • Euler
  • GCD
  • LCM
  • Ackermann function
  • Folding an array
  • Factors of an integer 1
  • Factors of an integer 2
  • Antiprime
  • Names of god
  • Raise to power (cycle)
  • Binary to string conversion
  • Bubb
  • Rot-13
  • Caesar cypher
  • Count coins
  • Consolidation
  • Employee salary
  • Sleeping beauty
  • Complex iterator
  • Lah numbers

Tests/control.dy:

  • Guards 1
  • Guards 2
  • Guards 3
  • Return from method
  • Cycle: while with break 1
  • Cycle: while with break 2
  • Cycle: Nested while
  • Cycle: do/while 1
  • Cycle: do/while 2
  • Cycle: do/while with break
  • Cycle: do/while with continue
  • Cycle: for 1
  • Cycle: for 2
  • Cycle: for with continue
  • Cycle: for with break
  • Cycle: endless while

Tests/dictionary.dy:

  • Literal
  • Constructor 1
  • Constructor 2
  • Methods: GetType
  • Methods: Clone
  • Methods: FromTuple
  • Methods: ToString
  • Methods: Add
  • Indexing
  • Methods: TryAdd, TryGet
  • Methods: Len, Clear
  • Complex keys
  • Field access
  • Iterator to dictionary
  • Methods: Compact
  • Methods: ToTuple
  • Pattern matching
  • Methods: ContainsKey
  • Methods: ContainsValue
  • Methods: GetAndRemove
  • Conversion: as
  • Operator in

Tests/exceptions.dy:

  • Type error
  • Simple catch 1
  • Simple catch 2
  • Nested catch 1
  • Catch and throw
  • Nested catch 2
  • Nested catch 3
  • Throwing from functions
  • Catch as an expression
  • Catch and iterators
  • Simple catch 3
  • Pattern matching 1
  • Pattern matching 2
  • External catch 1
  • External catch 2
  • External catch 3
  • Iterators 1
  • Iterators 2
  • Custom type exception
  • Catch chain
  • Fall into correct catch
  • Rethrowing
  • Nested exceptions
  • Multiple throws from catch
  • Throwing 1
  • Throwing 2
  • Throwing 3
  • Throwing 4
  • Throw from override
  • Data items
  • Implicit operator and exceptions
  • ToString exceptions

Tests/float.dy:

  • Float literal
  • Underscore
  • Methods: Min and Max
  • Methods: Infinity and IsNaN
  • Constructor
  • Methods: Default
  • Methods: GetType
  • Methods: Parse
  • Ranges
  • Conversion: as
  • Format

Tests/function.dy:

  • Methods: ToString
  • Methods: Clone
  • Base variable 1
  • Base variable 2
  • Composition 1
  • Composition 2
  • Composition 3
  • Methods: GetType
  • Properties
  • Tail recursion 1
  • Tail recursion 2
  • Tail recursion 3
  • Recursion 1
  • Recursion 2
  • Call
  • Call with named arguments 1
  • Call with named arguments 2
  • Call with optional arguments
  • Variadic call 1
  • Curried function
  • Flip
  • Variadic call 2
  • Variadic call 3
  • Identity function
  • Caller and current
  • Function info
  • Call chain 1
  • Anonymous function name
  • Call chain 2
  • Complex variadic
  • Variadic arguments to string
  • Variadic and optional
  • Method: toString 1
  • Method: toString 2
  • Method: addition 1
  • Method: addition 2
  • Method: GetItem
  • Closures
  • Parameter order 1
  • Parameter defaults 1
  • Parameter defaults 2
  • Parameters and exceptions
  • Introspection
  • Expression bodied functions
  • Defaults and foreign call 1
  • Defaults and foreign call 2
  • Defaults and foreign call 3
  • Defaults and foreign call 4
  • Defaults and foreign call 5
  • External call
  • Type annotations 1
  • Type annotations 2
  • Type annotations 3
  • Complex type annotations 1
  • Complex type annotations 2
  • Mutual recursion 1
  • Mutual recursion 2
  • Invalid overload (builtins)
  • Invalid overload (custom)
  • Conversion: as
  • Complex definition 1
  • Parameterless lambda 1
  • Parameterless lambda 2
  • Parameterless lambda 2
  • Parameterless lambda 3
  • Parameterless lambda 4
  • Methods: Apply
  • Right pipe 1
  • Right pipe 2
  • Right pipe 3
  • Left pipe 1
  • Left pipe 2
  • Left pipe 3
  • Complex nesting
  • Varargs and too many arguments
  • Varargs and mutable tuple
  • Varargs and tuple expansion
  • StdCall
  • Type invocation
  • Abstract functions

Tests/integer.dy:

  • Integer literal
  • Underscore
  • Methods: Min and Max
  • Constructor
  • Methods: Default
  • Methods: GetType
  • Methods: IsMultiple
  • Methods: Parse
  • Ranges
  • Conversion: as
  • Format

Tests/interop.dy:

  • Uri
  • Version
  • List
  • Json
  • OSVersion
  • Typed array
  • Conversion
  • CreateArray
  • GetMethod
  • Generic method 1
  • Generic method 2
  • Generic method 3
  • Static Int32 methods
  • GetField 1
  • GetField 2

Tests/iterator.dy:

  • Iterator literal
  • Constructor
  • Methods: GetType
  • Methods: ToString
  • Methods: Clone
  • Methods: Len
  • Variable capture
  • Methods: First, Last, Length
  • Methods: Single
  • Iterator as argument
  • Iterator function
  • Running iterator 1
  • Running iterator 2
  • Running iterator 3
  • Running iterator 4
  • Running iterator 5
  • Iterator as method
  • Breaking iteration
  • Methods: Concat
  • Methods: Concat with +
  • Yield many 1
  • Yield many 2
  • Yield many 3
  • Yield many 4
  • Yield many 5
  • Methods: Take
  • Methods: Skip
  • Methods: Last
  • Iterator and exception
  • Yield break
  • Slicing
  • Iterator and range
  • Iterator state 1
  • Methods: ElementAt
  • Methods: Empty
  • Methods: Repeat 1
  • Methods: repeat 2
  • Iterator state 2
  • Methods: reverse
  • Methods: sort 1
  • Methods: sort 2
  • Methods: Shuffle
  • Methods: Count
  • Methods: Map
  • Methods: Map
  • Methods: Filter
  • Methods: TakeWhile
  • Methods: SkipWhile
  • Methods: Reduce
  • Methods: ToDictionary 1
  • Methods: ToDictionary 2
  • Empty sequence
  • Pattern match
  • Methods: Any
  • Methods: All
  • Methods: Contains
  • Methods: ToSet
  • Methods: ForEach
  • Methods: ForEach with exception
  • Methods: Distinct
  • Casting
  • Iterator as function
  • Exception in yields
  • Index out of range
  • Methods: Fold 1
  • Methods: Fold 2

Tests/lazy.dy:

  • Type info
  • Simple 1
  • Simple 2
  • Simple 3
  • Methods: ToString
  • Methods: IsNaN
  • Conversion to boolean
  • Math
  • Invoke members
  • Lazy arrays
  • Lazy tuples
  • Lazy strings
  • Lazy custom type
  • Lazy and operator overloading
  • Lazy indexers
  • Lazy properties
  • Lazy exceptions
  • Convert lazy
  • Overloaded operators
  • Lazy with function

Tests/libcore.dy:

  • StringBuilder: GetType
  • StringBuilder: Append, AppendLine
  • StringBuilder: Constructor, Length
  • StringBuilder: indexer
  • StringBuilder: Insert
  • StringBuilder: Replace
  • StringBuilder: Remove
  • Result: GetType
  • Result: Length and indexer
  • Result: matching 1
  • Result: matching 2
  • Guid: GetType
  • Guid: Parse
  • Guid: ToByteArray
  • Guid: FromByteArray
  • Guid: Empty, Default
  • Guid and Dictionary
  • Regex: GetType
  • Regex: Match 1
  • Regex: Match 2
  • Regex: Matches 1
  • Regex: Matches 2
  • Regex: Replace 1
  • Regex: Replace 2
  • Regex: Split
  • Regex: IsMatch
  • ByteArray: GetType
  • ByteArray: read and write
  • TimeDelta: GetType
  • TimeDelta: construction
  • TimeDelta: math
  • TimeDelta: equality
  • TimeDelta: comparison
  • TimeDelta: casting
  • TimeDelta: ToString 1
  • TimeDelta: ToString 2
  • TimeDelta: Min, Max, Default
  • TimeDelta: Parse 1
  • TimeDelta: Parse 2
  • TimeDelta: Parse 3
  • TimeDelta: negation
  • DateTime: GetType
  • DateTime: Format
  • DateTime: Min, Max and Default
  • DateTime: construction
  • DateTime: DayOfWeek
  • DateTime: TotalTicks
  • DateTime: FromTicks
  • DateTime: Parse 1
  • DateTime: Parse 2
  • DateTime: ToString
  • DateTime: Add
  • DateTime: math
  • DateTime: comparison
  • DateTime: casting 1
  • DateTime: casting 2
  • DateTime: Date and Time
  • LocalDateTime: GetType
  • LocalDateTime: ToString
  • LocalDateTime: LocalOffset
  • LocalDateTime: Parse 1
  • LocalDateTime: Parse 2
  • LocalDateTime: FromTicks
  • LocalDateTime: LocalOffset
  • LocalDateTime: FromDateTime
  • LocalDateTime: Date and Time
  • Calendar: GetType
  • Calendar: ParseDateTime 1
  • Calendar: ParseDateTime 2
  • Calendar: DaysInMonth
  • Calendar: IsLeapYear and DaysInYear
  • Calendar: FirstDayOfMonth
  • Calendar: LastDayOfMonth
  • Time: GetType
  • Time: construction
  • Time: equality
  • Time: comparison
  • Time: casting
  • Time: ToString 1
  • Time: ToString 2
  • Time: Min, Max, Default
  • Time: Parse
  • Time: Escape codes
  • Date: GetType
  • Date: construction
  • Date: equality
  • Date: comparison
  • Date: casting
  • Date: ToString 1
  • Date: ToString 2
  • Date: Min, Max, Default
  • Date: Parse
  • Date: AddMonths, AddDays, AddYears
  • Date: DayOfWeek, DayOfYear

Tests/libio.dy:

  • File: GetType
  • File: Exists
  • File: ReadText
  • File: ReadLines
  • File: Create and Delete
  • File: Copy
  • File: Move
  • Path: GetType
  • Path: GetDirectory
  • Path: GetExtension
  • Path: GetFileName
  • Path: GetFileNameWithoutExtension
  • Path: GetPathRoot
  • Path: Combine
  • Path: Exists
  • Path: EnumerateFiles 1
  • Path: EnumerateFiles 2
  • Path: EnumerateDirectories
  • Directory: GetType
  • Directory: Exists
  • Directory: Create and Delete
  • Drive: GetType
  • Drive: GetDrives
  • Drive: properties

Tests/loops.dy:

  • For as expression, break with value
  • For as expression, break
  • For as function body
  • For as function body 2
  • For: down to 1
  • For: down to 2
  • For: up to

Tests/match.dy:

  • Patterns: tuple
  • Patterns: tuple, array
  • Patterns: tuple, array, type
  • Guards 1
  • Patterns: type test
  • Patterns: or
  • Patterns: array with guards
  • Patterns: record 1
  • Patterns: record 2
  • Match range
  • Patterns: and 1
  • Guards 2
  • Patterns: and 2
  • Patterns: nil
  • Patterns: record 3
  • Pattern in cycle 1
  • Pattern in cycle 2
  • Pattern in cycle 3
  • Pattern in cycle 4
  • Pattern in cycle 5
  • Patterns: range 1
  • Patterns: range 2
  • Patterns: member check 1
  • Patterns: member check 2
  • Patterns: member check 3
  • Match in set 1
  • Match in set 2
  • Match and exception 1
  • Match in set 3
  • Match in var 1
  • Match in var 2
  • Match in var 3
  • Match in var 4
  • Match and exception 2
  • Match in let 1
  • Match in let 2
  • Match as an expression
  • Match in let 3
  • Match in is 1
  • Match in is 2
  • Match in is 3
  • Match in is 4
  • Match in is 5
  • Custom type check
  • Match in for with guard
  • Match in let 4
  • Match in let 5
  • Match in let 6
  • Patterns: not
  • Patterns: comparison
  • Not nil pattern

Tests/mixin.dy:

  • Number: GetType
  • Number
  • Lookup: GetType
  • Lookup
  • Collection: GetType
  • Collection
  • Functor: GetType
  • Functor
  • Disposable: GetType
  • Disposable 1
  • Disposable 2
  • Equatable: GetType
  • Equatable
  • Identity: GetType
  • Identity
  • Order: GetType
  • Order
  • Sequence: GetType
  • Sequence
  • Show: GetType
  • Show 1
  • Show 2
  • Object: GetType
  • Custom type
  • Closed type
  • Multiple mixins
  • Mixin with operators
  • Implement mixin
  • Array mixins
  • Mixin inheritance

Tests/modules.dy:

  • Methods: ToString
  • Methods: Clone
  • Methods: GetType
  • Member access 1
  • Member access 2
  • Match module
  • Match module using is
  • Qualification 1
  • Qualification 2
  • Module as tuple 1
  • Module as tuple 2
  • Types from module
  • Types from module (qual)
  • Types from module and optimizer
  • Extending external type
  • Extending external type (qual)
  • External type name
  • External type name (qual)
  • Constants
  • Iterating module
  • Match external type
  • Test external type
  • Methods: in

Tests/nil.dy:

  • Literal and initialization
  • Constructor
  • Methods: Default
  • Methods: GetType
  • Methods: Clone
  • Conversion: as

Tests/operators.dy:

  • Simple math
  • Float math 1
  • Float math 2
  • Math with formatting
  • Math with unary
  • Inf
  • NaN
  • Logical Or
  • Logical And
  • Comparison
  • Comparison and coersion
  • Comparison and bool
  • Function comparison 1
  • Function comparison 2
  • Function comparison 3
  • Function comparison 4
  • Coalesce
  • Member check 1
  • nameof
  • Has 1
  • Has 2
  • Has 3
  • Ternary
  • Unary minus
  • In
  • As
  • Operation 'in' with exception
  • Unary plus

Tests/ranges.dy:

  • Simple range
  • Range with a step
  • Range in cycle
  • Char range
  • Range as a statement
  • Range and take
  • String range
  • Slicing 1
  • Slicing 2
  • Slicing 3
  • Slicing 4
  • Exclusive range

Tests/set.dy:

  • Constructor
  • Methods: Clone
  • Methods: GetType
  • Methods: Add, Len
  • Methods: Add, Remove
  • Methods: Add, Clear, Contains
  • Methods: ToArray, ToTuple
  • Equality test
  • Methods: IntersectWith
  • Methods: UnionWith
  • Methods: ExceptOf
  • Methods: OverlapsWith
  • Methods: IsSubsetOf
  • Methods: IsSupersetOf
  • Methods: ToString
  • Conversion: as
  • Set and vararg function

Tests/string.dy:

  • String literal
  • Constructor
  • Methods: Default
  • Methods: GetType
  • Methods: Length
  • Methods: IndexOf, LastIndexOf
  • Comparison
  • Methods: Split
  • Addition
  • Methods: Lower, Upper
  • Methods: StartsWith, EndsWith
  • Methods: Substring
  • Methods: Capitalize
  • Methods: Concat
  • Methods: Contains
  • Methods: Trim, TrimStart, TrimEnd
  • Methods: IsEmpty
  • Indexing
  • Slicing
  • Methods: Join
  • Methods: PadLeft, PadRight
  • Methods: Replace
  • Methods: Remove
  • Methods: Repeat
  • Methods: Reverse
  • Multiline string 1
  • Multiline string 2
  • Interpolation 1
  • Interpolation 2
  • Interpolation 3
  • Concatenation 1
  • Concatenation 2
  • Concatenation 3
  • Methods: ToCharArray
  • Methods: Repeat
  • Conversion: as 1
  • Conversion: as 2
  • Format 1
  • Format 2
  • Methods: ToSet

Tests/tuple.dy:

  • Methods: ToString
  • Methods: Clone 1
  • Methods: Clone 2
  • Methods: GetType
  • Tuple literal 1
  • Tuple literal 2
  • Methods: Len
  • Field access
  • Methods: Keys
  • Methods: Indices
  • Methods: First, Second
  • Equality
  • Constructor
  • Methods: Slice
  • Methods: ToTuple
  • Methods: Sort
  • Methods: static sort
  • Single element tuple
  • Negative indices
  • Methods: Add
  • Methods: Remove
  • Methods: RemoveField
  • Methods: RemoveAt
  • Methods: Insert
  • Addition 1
  • Addition 2
  • Methods: Concat
  • Ranges
  • Mutable tuples 1
  • Mutable tuples 2
  • Mutable tuples 3
  • Methods: ToString (mutable)
  • Methods: ToDictionary
  • Methods: Contains
  • Methods: Compact
  • Exceptions with tuples
  • Conversion: as 1
  • Conversion: as 2
  • Tuple as argument
  • Comparison 1
  • Comparison 2
  • Operator in
  • Variadic function and labels
  • Methods: ToSet
  • Tuple: Alter 1
  • Tuple: Alter 2
  • OverloadProhibited 1
  • OverloadProhibited 2

Tests/types.dy:

  • Methods: GetType
  • Methods: Clone
  • Methods: ToString
  • Statics
  • Standard mixins
  • Empty variant
  • Multiple productions
  • Pattern match 1
  • Extending type 1
  • Maybe or Some
  • Pattern match 2
  • Point variant
  • Natural number 1
  • Either
  • Reference cell
  • Linked list
  • Generate linked list
  • Custom ToString
  • Record
  • Read-only fields
  • Default values
  • Mutable Point
  • Member check 1
  • Member check 2
  • Member check 3
  • Callable type 1
  • Callable type 2
  • Pattern match: is
  • Pattern match: inside method
  • String builder
  • Natural number 2
  • Mutable variant 1
  • Mutable variant 2
  • Custom constructor with constraints
  • Variant members
  • Properties 1
  • Properties 2
  • Custom conversion
  • Type annotations 1
  • Type annotations 2
  • Type annotations 3
  • Type annotations 4
  • Initialization blocks 1
  • Initialization blocks 2
  • Custom fields and pattern matching
  • Default conversions
  • Final methods 1
  • Final methods 2

Tests/variant.dy:

  • Literal
  • Methods: GetType
  • Methods: ToString
  • Methods: Length
  • Methods: Clone 1
  • Methods: Clone 2
  • Equality
  • Conversion (as)
  • Pass as value
  • Pattern matching 1
  • Pattern matching 2
  • Mutable variant
  • Casting