UNPKG

class-o-mat

Version:

ALPHA VERSION ONLY: class-o-mats will help to create getter-setter functionality with validations that can be attached to a container class for easier coding. Some basic validations are included. class-o-mats also has the ability to store params as bloc

81 lines (69 loc) 2.22 kB
import Bunyan from 'bunyan'; const log = Bunyan.createLogger({name: "NestedUsageTest"}); import 'mocha'; import { expect } from 'chai'; import { NONE, TEST_CLASS, CLASS_O_MAT, FIELD, CHILD_ADDER, COPY, STACK, QUEUE } from '../src/constants'; import ClassOMat from '../src/class-o-mat'; describe(`Test of creating params with validation.`, ()=> { class TestClass { TYPE = 'TEST' } var classOMat; var testClass; it(`create a basic classOMat created class`, ()=>{ classOMat = new ClassOMat(); classOMat.BaseClass(TestClass) .$(); testClass = new (classOMat.$())(); expect(classOMat.TYPE).to.equal(CLASS_O_MAT); expect(testClass.TYPE).to.equal('TEST'); } ); it(`test stack ability`, ()=>{ const expected = [10, 20, 30]; classOMat.field('stack').stack().$(); testClass = new (classOMat.$())(); const stack = testClass.stack(); stack.add(10); stack.add(20); stack.add(30); const values = stack.values(); // internal getterSetter for the stack "stack" expect(typeof testClass.___stack).to.equal('function'); expect(values).to.deep.equal(expected); const valuesFromNext = [stack.next(), stack.next(), stack.next()]; expect(valuesFromNext).to.deep.equal(expected.reverse()); expect(stack.TYPE).to.equal(STACK) } ); it(`test queue ability`, ()=>{ const expected = [30, 20, 10]; classOMat.field('queue').queue().$(); testClass = new (classOMat.$())(); const queue = testClass.queue(); queue.add(10); queue.add(20); queue.add(30); const values = queue.values(); // internal getterSetter for the queue "queue" expect(typeof testClass.___queue).to.equal('function'); expect(values).to.deep.equal(expected); const valuesFromNext = [queue.next(), queue.next(), queue.next()]; expect(valuesFromNext).to.deep.equal(expected.reverse()); expect(queue.TYPE).to.equal(QUEUE) } ); } );