lamed_test
Version:
Mocha unit testing made easy
102 lines (90 loc) • 3.5 kB
JavaScript
console.log(`Starting ${__filename}...`) // comment line to remove simple logging
// ------------------------------------------------------
// unzip.test.js
// Purpose: The purpose of this module is to ????
// Date Created: 2019/07/18
// Created by : Perez Lamed van Niekerk
// ------------------------------------------------------
/* jshint esversion: 6 */
const _test = require('../src/lTest')
const { con, unZip, unThrow } = _test
// Setup unit test
if (!_test.isTestRunner()) con.traceSet(0) // Activate trace when not run from test runner
// con.useChalk(require('chalk')) // Give us some colour
con.logLine()
con.log(` --> ${__filename}`) // Show test case
// strings
unZip(() => { return '' }, '') // Test empty string equality
unZip(() => { return 'test' }, 'test') // Test simple string equality
unZip(() => { return { value: 'test' } }, { value: 'test' }) // Test simple string equality
// numbers
unZip(() => { return 5 }, 5)
// Array tests
unZip(() => { return [1, 2, 5] }, [1, 2, 5])
unZip(() => { return [1, '2', 5] }, [1, '2', 5])
// unZip(() => { return [1, '2', 5] }, [1, 2, 5]) // This should return an error
// This should return an error
con.traceLine()
const testArray = [1, 2, 3, 4, 5, 6]
const arrayStr = ['1', '2', '3', '4', '5', '6']
// con.logArray(testArray, 'testArray', false)
unZip(() => testArray.map((x) => x), [1, 2, 3, 4, 5, 6])
unZip(() => arrayStr.map((x) => x), ['1', '2', '3', '4', '5', '6'])
// Object
unZip(() => { return { name: 'object' } }, { name: 'object' })
// unThrow test
// con.traceSet(0)
con.traceLine()
unThrow(() => { throw new Error('Random error. \n') }, 'Random error. ')
// unZip(() => { return true }, false)
unThrow(() => unZip(() => { return true }, false), 'ERROR:unZip() failure!!!')
unThrow(() => unZip(() => { return [1, '2', 5] }, [1, 2, 5]), 'ERROR:unZip() failure!!!') // This should return an error
const object1 = {
description: "Test a parameter value and return true if parameter is ok (usable, not '', undefined, NaN or Null)",
parameters: [
{
class: 'param',
type: 'any',
name: 'parm',
description: 'any parameter'
}
],
example: ' function fname(parm) {\n if (Ok(param)) {\n // The parameter variable is usable\n }\n }',
returns: {
class: 'return',
type: 'boolean',
name: '',
description: 'True if the parameter has a usable value'
}
}
const object2 = {
description: "Test a parameter value and return true if parameter is ok (usable, not '', undefined, NaN or Null)",
parameters: [
{
class: 'param',
type: 'any',
name: 'parm',
description: 'any parameter'
}
],
example: 'function fname(parm) { \n if (Ok(param)) { \n // The parameter variable is usable \n } \n }',
returns: {
class: 'return',
type: 'boolean',
name: '',
description: 'True if the parameter has a usable value'
}
}
unZip(() => { return object1 }, object2, { throwError: false, isSample: false })
unThrow(() => unZip(() => { return object1 }, object2))
con.logGreen(` √ ${__filename}`) // Success!!!
con.traceLine()
// -------------------------------------------
// Code to generate 'readme' and 'help' when run directly by node
//
// Add to bottom of testRunner()
// Generating readme & help
// npm uninstall -g lamed_readme
// npm i -g lamed_readme
// npm link lamed_readme
// const _gen = require('lamed_readme'); _gen.genReadme(__dirname); _gen.genHelp(__dirname) // Uncomment line to generate readme & help