@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

    Keywords

    none

    Install

    npm i @kingjs/assert-theory

    DownloadsWeekly Downloads

    18

    Version

    1.0.20

    License

    MIT

    Unpacked Size

    4.71 kB

    Total Files

    5

    Last publish

    Collaborators

    • kingces95