mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "@jest/globals";
|
|
import { TupleKey } from "../../src/types/TupleKey";
|
|
|
|
describe("TupleKey", () => {
|
|
it("stores a value copy of the original tuple", () => {
|
|
const tuple: [string, string] = ["150", "539"];
|
|
const tupleKey = new TupleKey(...tuple);
|
|
|
|
expect(tupleKey.tuple).toEqual(tuple);
|
|
});
|
|
|
|
it("returns a string representation of itself", () => {
|
|
const tuple: [string, string] = ["150", "539"];
|
|
const tupleKey = new TupleKey(...tuple);
|
|
|
|
expect(`${tupleKey}`).toEqual("150|539");
|
|
});
|
|
|
|
it("supports usage as key in object", () => {
|
|
const tupleKey1 = new TupleKey("1", "2");
|
|
const tupleKey2 = new TupleKey("3", "4");
|
|
|
|
const sampleObject = {
|
|
[tupleKey1.toString()]: "value1",
|
|
[tupleKey2.toString()]: "value2",
|
|
};
|
|
|
|
expect(sampleObject[tupleKey1.toString()]).toEqual("value1");
|
|
expect(sampleObject[(new TupleKey("1", "2")).toString()]).toEqual("value1");
|
|
});
|
|
|
|
describe("fromExistingStringKey", () => {
|
|
it("creates a new TupleKey from an existing string key", () => {
|
|
const strKey = "hello|there";
|
|
const tupleKey = TupleKey.fromExistingStringKey(strKey);
|
|
expect(tupleKey.toString()).toEqual(strKey);
|
|
});
|
|
|
|
it("creates an empty tuple if there is no string", () => {
|
|
const strKey = "";
|
|
const tupleKey = TupleKey.fromExistingStringKey(strKey);
|
|
expect(tupleKey.toString()).toEqual(strKey);
|
|
})
|
|
})
|
|
});
|