UNPKG

lamed_test

Version:
140 lines (123 loc) 5.47 kB
console.log(`Starting ${__filename}...`) // comment line to remove simple logging // ------------------------------------------------------ // compare.test.js // Purpose: The purpose of this.... // Date Created: 2019/06/07 // Created by : Perez Lamed van Niekerk // ------------------------------------------------------ /* jshint esversion: 6 */ const _test = require('../src/lTest') const { Equal, notEqual, con, testAND, unZip, isEqual, compareStr } = _test // --------------------------------------------------- // Setup unit test const show = !_test.isTestRunner() if (show) { 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 // Equal() ----------------------------------------------- const arrayItem = ['- Inspection Templates', '- Inspection Ranges Principles', ' - Inspection Ranges Creation/Setup', '- Measure Points', '- Inspection Area Workflow', ' - Examples of Reports', ' - Template Application', ''] // This line will cause error const arrayCompare = ['- Inspection Templates', '- Inspection Ranges Principles', ' - Inspection Ranges Creation/Setup', '- Measure Points', '- Inspection Area Workflow', ' - Examples of Reports', ' - Template Application'] con.trace({ arrayItem }) unZip(() => Equal(arrayItem, arrayCompare), false, { isSample: false }) const arrayItem2 = ['- Inspection Templates', '- Inspection Ranges Principles', ' - Inspection Ranges Creation/Setup', '- Measure Points ###Invalid###', // This is invalid -> Show this in red, 3 lines before and after (number the lines) '- Inspection Area Workflow', ' - Examples of Reports', ' - Template Application', ''] // This line will cause error const arrayCompare2 = ['- Inspection Templates', '- Inspection Ranges Principles', ' - Inspection Ranges Creation/Setup', '- Measure Points', // This is the compare line -> Show this in green, 3 lines before and after (number the lines) '- Inspection Area Workflow', ' - Examples of Reports', ' - Template Application'] unZip(() => Equal(arrayCompare2, arrayItem2), false, { isSample: false }) unZip(() => Equal('random text', undefined), false) unZip(() => Equal(undefined, 'random text'), false) unZip(() => Equal('line1\nline2', 'line1\nline'), false) unZip(() => Equal('line1\nline', 'line1\nline2'), false) unZip(() => Equal(['line1\nline', 'line1\nline2'], ['line1\nline']), false) unZip(() => Equal('rollerLH_and_RH', 'rollerLH_and__RH'), false) unZip(() => Equal( [{ name: 'Piet', age: 20 }, { name: 'Koos', age: 30 }], [{ name: 'Piet', age: 20 }, { name: 'Koos', age: 31 }]), false) con.traceLine() // notEqual() ------------------------------------------------------------ unZip(() => notEqual('line1\nline2', 'line1\nline2'), false) unZip(() => notEqual( [{ name: 'Piet', age: 20 }, { name: 'Koos', age: 30 }], [{ name: 'Piet', age: 20 }, { name: 'Koos', age: 30 }]), false) unZip(() => notEqual( { colour: 'red', line: '[Task1]', pos: 8 }, { colour: 'red', line: '[Task1]', pos: 8 }), false) // Compare object and string unZip(() => notEqual('{"name": "value"}', { name: 'value' }), true) con.traceLine() // isEqual() ----------------------------------------------------------- unZip(() => isEqual([1, 2], [1, 2]), true) unZip(() => isEqual(['1', '2'], ['1', '2']), true) unZip(() => isEqual(['1', '2'], [1, 2], false), false) unZip(() => isEqual({ a: [1, 2] }, { a: [1, 2] }, true), true) unZip(() => isEqual({ a: 'bb' }, { a: 'bb' }), true) unZip(() => isEqual({ a: 'bb' }, { a: 'bb' }), true) unZip(() => isEqual({ a: 'bb' }, '{ "a": "bb" }', false), false) con.traceLine() unZip(() => isEqual(NaN, NaN), true) unZip(() => isEqual(undefined, undefined), true) unZip(() => isEqual(null, undefined), false) unZip(() => isEqual(null, NaN), false) unZip(() => isEqual(undefined, NaN), false) unZip(() => isEqual(undefined, NaN), false) con.traceLine() // compareStr() ------------------------------------------------ unZip(() => compareStr('test1', 'test1'), -1) unZip(() => compareStr('test1', 'test2', false), 4) let line = 'This is a very long line and will continue and will continue for long' let line2 = line + '2' unZip(() => compareStr(line, line2, false), 69) line2 = line.repeat(3) + '_Error_' + line.repeat(3) line = line.repeat(3) + '_Ok_' + line.repeat(3) unZip(() => compareStr(line, line2, false), 208) con.traceLine() // testAND unZip(() => testAND(module.filename, true), true) unZip(() => testAND(module.filename, true, true), true) unZip(() => testAND(module.filename, true, true, true), true) unZip(() => testAND(module.filename, true, true, true, true), true) unZip(() => testAND(module.filename, true, true, false), false) unZip(() => testAND(module.filename, true, false, true), false) unZip(() => testAND(module.filename, false, true, true, true), false) 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