@kingjs/assert-theory

1.0.20 • Public • Published

@kingjs/assert-theory

Assert that a theory is true for a combination of observations.

Usage

Assert that addition and multiplication are commutative operations for a combination of 3 whole numbers and 3 fractions like this:

var testTheory = require('@kingjs/assert-theory');
var assert = require('@kingjs/assert');

var id = 0;

testTheory(function(o, i) {
  assert(id++ == i);

  var naturalFirst = eval(o.natural + o.op + o.fraction);
  var fractionFirst = eval(o.fraction + o.op + o.natural);

  assert(naturalFirst == fractionFirst); 
}, {
  op: [ '+', '*' ],
  natural: [1, 2, 3],
  fraction: [.1, .2, .3],
});

assert(id == 3 * 3 * 2); // = 18

API

declare function testTheory(
  theory: (
    this, 
    observation, 
    i
  ) => void,
  observations: { [index: string]: any },
  runId?: number
);

Parameters

  • theory: A function that tests a set of observations.
    • this: The observations.
    • observation: The observation generated from data.
    • id: The number identifying observation.
  • observations: A descriptor whose every property contains either an array, primitive, or object from which a sequence of similar descriptors is generated where each property is replaced with an array element, the primitive, or a property value respectively.
  • runId: If present, runs only the observation with the given id.

Remarks

If an observation fails then it can be easily debugged by supplying runId. If runId is specified an exception is still thrown after the test pass to ensure that the runId is removed.

Install

With npm installed, run

$ npm install @kingjs/assert-theory

Acknowledgments

Like nUnit TheoryAttribute.

License

MIT

Analytics

Readme

Keywords

none

Package Sidebar

Install

npm i @kingjs/assert-theory

Weekly Downloads

0

Version

1.0.20

License

MIT

Unpacked Size

4.71 kB

Total Files

5

Last publish

Collaborators

  • kingces95