lamed_table
Version:
Light table implementation
56 lines (49 loc) • 2.13 kB
JavaScript
// Add module to test.runner.js
// 'use strict' // Comment out in test functions
console.log(`Starting ${__filename}...`) // comment line to remove simple logging
// ------------------------------------------------------
// groupBy.test.js
// Purpose: The purpose of this to test table groupBy
// Date Created: 2020/01/24
// Created by : Perez Lamed van Niekerk
// ------------------------------------------------------
/* jshint esversion: 6 */
const { TableDef } = require('../src/table') // eslint-disable-line
const { con, unZip, unThrow, isTestRunner } = require('lamed_test') // eslint-disable-line
// ---------------------------------------------------
// Setup unit test
const show = !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
// Sample() ---------------------------------------------
const result = new TableDef(['id', 'name', 'age', 'cost', 'description', 'fk'], 'result')
// result.CodeGenerate.RowSet()
// unZip(() => result.CodeGenerate.RowAdd(false), 'result.Rows.Add([id, name, age, cost, description, fk])')
result.Rows.Add([1, 'pa', 50, 200.10, 'person', 'test'])
result.Rows.Add([2, 'Sannie', 30, 100.10, 'women', 'test'])
result.Rows.Add([3, 'Piet', 40, 1500.10, 'man', 'test'])
result.Rows.Add([4, 'Cobus', 50, 200.10, 'dad', 'test'])
result.Rows.Add([4, 'Cobus', 50, 200.10, 'dad', 'test'])
result.Rows.Add([4, 'Cobus', 65, 200.10, 'dad', 'test'])
result.Rows.Add([4, 'Cobus', 70, 200.10, 'pa', 'test'])
result.show()
// Statistics
result.stats(show)
// show = con.Stack.ifTrace(1)
result.groupBy(show)
result.groupBy('id', show)
result.groupBy(['name'], show)
result.groupBy('age', show)
result.groupBy('age', show, 'age')
result.groupBy(['name', 'age'], show)
result.groupBy(['name', 'age'], show, 'age')
result.groupBy('cost', show)
result.groupBy('cost', show, 'cost')
result.groupBy('description', show)
// ------------------------------------------------
con.logGreen(` √ ${__filename}`) // Success!!!
con.traceLine()