1.1.0 • Published 3 years ago
assert-eval v1.1.0
Assert Evaluation (assert-eval.ts)
Assert eval is a single file assertion library for easy of use in testing. It's intended to have zero external dependancies & have a easy to use synbtax and API methods
Import
To use assert-eval (typescript) use import assert from 'assert-eval'
Types
type EvalMethod = ()=>void
type EvalFunc = (value : any, expected : any, message? : string)=>void
type NumTest = ">=" | ">" | "<=" | "<" | "range"
type SetTest = "within" | "notin"
Methods
All assertion methods assert.true() internally as a basis,
If assetion fails a 'message' is printed from the arguments
assert.true(value: boolean, message? : string) //asserts a true expression using ===
assert.false(value : boolean, message? : string) //assert false
assert.boolean(value : boolean, expected : boolean) //assert value === expected
//EvalMethod is an empty function type, method will assert a throw error value
assert.method(method: EvalMethod, throws : boolean, message? : string)
assert.exists(object : any, message? : string)
assert.string(value : string, expected : string, message? : string) //assert typed string value
assert.number(value : number, expected : number, message? :string) //assert type number value
//This method can be used to test a number using a NumSet[>=, > , <=, < , "range"]
numberTest(message : string, value : number, compare : NumTest, param1 : number, param2? : number)
//tests a date object using assert.numberTest & date.getTime()
dateTest(message : string, value : Date, compare : NumTest, param1 : Date, param2? : Date)
//Tests whether objects are same underlying value using JSON.stringify()
object(value : any, expected : any, message? : string)
//Test a value in a set using SetTest and an array. SetTest = "within" | "notin"
set(value: any, compare : SetTest, set : any[], message? : string)
//Tests a value in an array using an EvalFund. (Note eval func must throw error for assertion)
array(value : any[], expected : any[], evalFunc : EvalFunc, message? : string)
arrayNotEquals(value : any[], expected : any[], message? : string)
arrayEquals(value : any[], expected : any[], message? : string)
arrayNumber(value : number[], expected: number[], message? : string)
arrayString(value : string[], expected : string[], message? : string)
arrayBoolean(value : boolean[], expected : boolean[], message? : string)