Catalog npm
Back to packageRELEASE DETAILS

0.0.3

npm

@0bdx/are

Utilities for unit testing 0bdx apps, libraries and websites.

assertexpecttestunit-test
Published11 Jun 2023
Direct dependencies3
Transitive dependenciesNot calculated

README

Current package documentation

@0bdx/are

Synchronous utilities for unit testing apps, libraries and websites.

⨂ Version: 0.0.8
⨂ NPM: https://www.npmjs.com/package/@0bdx/are
⨂ Repo: https://github.com/0bdx/are
⨂ Homepage: https://0bdx.com/are

TODO add an overview

Examples

Example scripts can be found in the 'examples/' directory.

You can run Example 1, for example, using:
node examples/example-1.js

Example 1

import { isDeeplyLike as isLike } from '@0bdx/are';

// Compare two numbers.
console.log(isLike(0, -0, 'Zero and minus-zero are alike.'));
// PASS: Zero and minus-zero are alike.
//     : `actually` is `0` as expected

// Compare two booleans.
try { isLike(true, false, 'true and false are not alike.');
} catch (err) { console.log(err.message) }
// FAIL: true and false are not alike.
//     : `actually` is `true`
//     : `expected` is `false`

// Compare two plain objects.
console.log(isLike({a:1}, {a:1}, 'Similar objects are alike.'));
// PASS: Similar objects are alike.
//     : `actually` is `{ a:1 }` as expected

Example 2

import { bind1, isDeeplyLike } from '@0bdx/are';

// Create a test suite with a title, and bind one function to it.
const [ isLike, testSuite ] = bind1(isDeeplyLike, 'fact()');

// Or a test suite from a previous test could be passed in instead.
// const [ isLike ] = bind1(isDeeplyLike, testSuite);

// Optionally, begin a new section.
testSuite.addSection('Check that fact() works');

// Run the tests. The third argument, `notes`, is optional.
isLike(fact(0), 1);
isLike(fact(5), 120,
    ['`fact(5)` 5! = 5 * 4 * 3 * 2 * 1']);

// Output a test results summary to the console, as plain text.
console.log(testSuite.render());

// Calculates the factorial of a given integer.
function fact(n) {
    if (n === 0 || n === 1) return 1;
    for (let i=n-1; i>0; i--) n *= i;
    return n;
}

Example 3

import { bind2, isDeeplyLike, throwsError } from '@0bdx/are';

// Create a test suite with a title, and bind two functions to it.
const [ isLike, throws, testSuite ] = bind2(isDeeplyLike, throwsError, 'fact()');

// Or a test suite from a previous test could be passed in instead.
// const [ isLike, throws ] = bind2(isDeeplyLike, throwsError, testSuite);

// Optionally, begin a new section.
testSuite.addSection('Check that fact() works');

// Run the tests. The third argument, `notes`, is optional.
throws(()=>fact(), "`n` is not type 'number'");
throws(()=>fact(NaN), '`n` is NaN!',
    ['`fact(NaN)` cannot factorialise the special `NaN` number']);
isLike(fact(0), 1);
isLike(fact(5), 120,
    ['`fact(5)` 5! = 5 * 4 * 3 * 2 * 1']);

// Output a test results summary to the console, as plain text.
console.log(testSuite.render());

// Calculates the factorial of a given integer.
function fact(n) {
    if (typeof n !== 'number') throw Error("`n` is not type 'number'");
    if (isNaN(n)) throw Error('`n` is NaN!');
    if (n === 0 || n === 1) return 1;
    for (let i=n-1; i>0; i--) n *= i;
    return n;
}

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 3

Native requirements
3 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
@0bdx/ainta
Environment
{
  "local_name": "@0bdx/ainta",
  "alias": false,
  "peer_metadata": null
}
^0.0.19runtime
@0bdx/build-helpers
Environment
{
  "local_name": "@0bdx/build-helpers",
  "alias": false,
  "peer_metadata": null
}
^0.0.4development
rollup
Environment
{
  "local_name": "rollup",
  "alias": false,
  "peer_metadata": null
}
^3.15.0development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-HOF2t2fSjTYXdZp1FvqOk+liGyySYbnPuW1TEGiwj+2RackWWpQzmkDe2VD0bZyOZ9fUCS2ns4fH/8hcNGv0cg==",
  "shasum": "39ee34e8f9fa16e622948aeddce45e3c8e2a1213",
  "tarball": "https://registry.npmjs.org/@0bdx/are/-/are-0.0.3.tgz",
  "fileCount": 5,
  "unpackedSize": 83270,
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEQCIFImWpZMUVFl2U1Z3HYNEUuxSkxFGLmjR53oljlt9BT7AiB8uHggAZsg7ZwEpVhzX+2UiwPjLdpEw2fJNYZHbmHXFA=="
    }
  ]
}

Repository

PENDING
0bdx/are

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:04 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:60fdaa1f23b8d028c9ae1b52c25a93b3cfade2f4d86e145201f90c5823a71837

Other collected versions

0.0.821 Oct0.0.67 Oct0.0.520 Aug0.0.420 Aug0.0.211 JunView all collected versions →