mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-07 22:48:12 +08:00
finish tests for world (#340)
* Create Release_Validation_Recipe.md * nameCreators test and better error handling * add test for createObsDimensionMap * add last set of tests for world module
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
Test cases for nameCreators.js.
|
||||
*/
|
||||
import {
|
||||
layoutDimensionName,
|
||||
obsAnnoDimensionName,
|
||||
diffexpDimensionName,
|
||||
userDefinedDimensionName,
|
||||
makeContinuousDimensionName
|
||||
} from "../../src/util/nameCreators";
|
||||
|
||||
describe("nameCreators", () => {
|
||||
const nameCreators = [
|
||||
layoutDimensionName,
|
||||
obsAnnoDimensionName,
|
||||
diffexpDimensionName,
|
||||
userDefinedDimensionName
|
||||
];
|
||||
|
||||
test("check for namespace isolation", () => {
|
||||
const foo = "foo";
|
||||
nameCreators.forEach(fn => expect(fn(foo)).not.toBe(foo));
|
||||
|
||||
const bar = "bar";
|
||||
nameCreators.forEach(fn => expect(fn(foo)).not.toBe(fn(bar)));
|
||||
|
||||
nameCreators.forEach(fn => {
|
||||
const allOtherFn = nameCreators.filter(elmnt => elmnt !== fn);
|
||||
allOtherFn.forEach(otherFn => expect(fn(foo)).not.toBe(otherFn(foo)));
|
||||
});
|
||||
});
|
||||
|
||||
test("check for legal keys", () => {
|
||||
/* need namespace creators to return strings only */
|
||||
nameCreators.forEach(fn => expect(fn("X")).toMatch(/X/));
|
||||
});
|
||||
});
|
||||
|
||||
describe("makeContinuousDimensionName", () => {
|
||||
test("namespaces", () => {
|
||||
expect(makeContinuousDimensionName({ isObs: true }, "OK")).toMatch(/OK/);
|
||||
expect(makeContinuousDimensionName({ isDiffExp: true }, "OK")).toMatch(
|
||||
/OK/
|
||||
);
|
||||
expect(makeContinuousDimensionName({ isUserDefined: true }, "OK")).toMatch(
|
||||
/OK/
|
||||
);
|
||||
});
|
||||
|
||||
test("error handling", () => {
|
||||
expect(() => makeContinuousDimensionName({}, "oops")).toThrow();
|
||||
expect(() =>
|
||||
makeContinuousDimensionName(
|
||||
{ isObs: false, isDiffExp: false, isUserDefined: false },
|
||||
"oops"
|
||||
)
|
||||
).toThrow();
|
||||
expect(() =>
|
||||
makeContinuousDimensionName({ isObs: true }, "OK")
|
||||
).not.toThrow();
|
||||
expect(() =>
|
||||
makeContinuousDimensionName({ isDiffExp: true }, "OK")
|
||||
).not.toThrow();
|
||||
expect(() =>
|
||||
makeContinuousDimensionName({ isUserDefined: true }, "OK")
|
||||
).not.toThrow();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user