Current collected state Current
Observed since 20 Oct, 22:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
@0bdx/are
Utilities for unit testing apps, libraries and websites.
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
Example scripts can be found in the 'examples/' directory.
You can run Example 1, for example, using:
node examples/example-1.js
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
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;
}
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;
}
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
@0bdx/aintaEnvironment{
"local_name": "@0bdx/ainta",
"alias": false,
"peer_metadata": null
} | ^0.0.20 | runtime |
@0bdx/build-helpersEnvironment{
"local_name": "@0bdx/build-helpers",
"alias": false,
"peer_metadata": null
} | ^0.0.4 | development |
rollupEnvironment{
"local_name": "rollup",
"alias": false,
"peer_metadata": null
} | ^4.0.2 | development |
Source distribution
{
"integrity": "sha512-iIA4hrHm6407ubvChHXcdayf9gWB/lBx53mC0e8tAmvRqDWt2yJBJrdt0WX9ciu5LbO65/fHYqhVPCkgjroSTA==",
"shasum": "3a5c12176e46e68a0f3f05a51eda4a64af4f8b3f",
"tarball": "https://registry.npmjs.org/@0bdx/are/-/are-0.0.6.tgz",
"fileCount": 5,
"unpackedSize": 83249,
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEQCIFglusI81OmIcLwdI1htQ7Rgz/o6YZJLv1KFUSx1UyNVAiAQsIbevb/WlXbzifYvZXhGaDlxFhK13EEFcex5XdWTHw=="
}
]
}Observed since 20 Oct, 22:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:bcece0b615ddd52ee52dbcee822fe6886a8fb39d233d07008137feaf50f2b421