feat: quick update to limgachine.

This commit is contained in:
mpaulson 2022-07-30 20:02:26 -06:00
parent 60d75e1996
commit 29ba2cd3ab
11 changed files with 28 additions and 15 deletions

View file

@ -2,7 +2,7 @@
"clearMocks": true, "clearMocks": true,
"moduleNameMapper": { "moduleNameMapper": {
"@code/(.*)": [ "@code/(.*)": [
"<rootDir>/src/day1/$1" "<rootDir>/src/day5/$1"
] ]
}, },
"preset": "ts-jest" "preset": "ts-jest"

View file

@ -16,9 +16,9 @@ module.exports = {
"BTBFS", "BTBFS",
"CompareBinaryTrees", "CompareBinaryTrees",
"DFSOnBST", "DFSOnBST",
"DFSGraphList",
"Trie", "Trie",
"DFSGraphMatrix", "BFSGraphMatrix",
"BFSGraphList",
"Map", "Map",
], ],
} }

View file

@ -14,10 +14,10 @@
"typescript": "^4.7.4" "typescript": "^4.7.4"
}, },
"scripts": { "scripts": {
"test": "jest LinearSearchList BinarySearchList TwoCrystalBalls BubbleSort DoublyLinkedList Queue Stack ArrayList MazeSolver QuickSort BTPreOrder BTInOrder BTPostOrder BTBFS CompareBinaryTrees DFSOnBST Trie DFSGraphList BFSGraphList BFSGraphMatrix Map", "test": "jest LinearSearchList BinarySearchList TwoCrystalBalls BubbleSort DoublyLinkedList Queue Stack ArrayList MazeSolver QuickSort BTPreOrder BTInOrder BTPostOrder BTBFS CompareBinaryTrees DFSOnBST DFSGraphList Trie BFSGraphMatrix Map",
"clear": "./scripts/clear", "clear": "./scripts/clear",
"prettier": "prettier --write ./src", "prettier": "prettier --write ./src",
"generate": "./scripts/generate", "generate": "./scripts/generate",
"day": "echo /home/mpaulson/personal/kata/src/day1" "day": "echo /home/mpaulson/personal/kata/src/day5"
} }
} }

View file

@ -223,7 +223,7 @@ module.exports = {
MazeSolver: { MazeSolver: {
type: "fn", type: "fn",
fn: "solve", fn: "solve",
args: "maze: string[], wall: string, path: string, start: Point, end: Point", args: "maze: string[], wall: string, start: Point, end: Point",
return: "Point[]", return: "Point[]",
}, },
@ -264,7 +264,7 @@ module.exports = {
DFSOnBST: { DFSOnBST: {
type: "fn", type: "fn",
fn: "search", fn: "dfs",
args: "head: BinaryNode<number>, needle: number", args: "head: BinaryNode<number>, needle: number",
return: "boolean", return: "boolean",
}, },

View file

@ -67,6 +67,9 @@ function create_function(name, item) {
config.dsa.forEach(ds => { config.dsa.forEach(ds => {
const item = dsa[ds]; const item = dsa[ds];
if (!item) {
throw new Error(`algorithm ${ds} could not be found`);
}
if (item.type === "class") { if (item.type === "class") {
create_class(ds, item); create_class(ds, item);
} else { } else {

View file

@ -3,14 +3,23 @@ import MyMap from "@code/Map";
test("Map", function() { test("Map", function() {
const map = new MyMap<string, number>(); const map = new MyMap<string, number>();
map.set("foo", 55); map.set("foo", 55);
expect(map.size()).toEqual(1);
map.set("fool", 75); map.set("fool", 75);
expect(map.size()).toEqual(2);
map.set("foolish", 105); map.set("foolish", 105);
expect(map.size()).toEqual(3);
map.set("bar", 69); map.set("bar", 69);
expect(map.size()).toEqual(4);
console.log(map.size());
expect(map.get("bar")).toEqual(69); expect(map.get("bar")).toEqual(69);
expect(map.get("blaz")).toEqual(undefined); expect(map.get("blaz")).toEqual(undefined);
map.delete("bar") map.delete("bar")
expect(map.size()).toEqual(3);
map.delete("barblabr")
expect(map.size()).toEqual(2);
expect(map.get("bar")).toEqual(undefined); expect(map.get("bar")).toEqual(undefined);
}); });

View file

@ -11,7 +11,7 @@ test("maze solver", function () {
]; ];
// there is only one path through // there is only one path through
expect(maze_solver(maze, "x", " ", {x: 10, y: 0}, {x: 1, y: 5})).toEqual([ expect(maze_solver(maze, "x", {x: 10, y: 0}, {x: 1, y: 5})).toEqual([
{x: 10, y: 0}, {x: 10, y: 0},
{x: 10, y: 1}, {x: 10, y: 1},
{x: 10, y: 2}, {x: 10, y: 2},

View file

@ -7,7 +7,7 @@ test("queue", function () {
list.enqueue(7); list.enqueue(7);
list.enqueue(9); list.enqueue(9);
expect(list.dequeue()).toEqual(5); expect(list.deque()).toEqual(5);
expect(list.length).toEqual(2); expect(list.length).toEqual(2);
// this must be wrong..? // this must be wrong..?
@ -16,11 +16,11 @@ test("queue", function () {
// i hate using debuggers // i hate using debuggers
list.enqueue(11); list.enqueue(11);
debugger; debugger;
expect(list.dequeue()).toEqual(7); expect(list.deque()).toEqual(7);
expect(list.dequeue()).toEqual(9); expect(list.deque()).toEqual(9);
expect(list.peek()).toEqual(11); expect(list.peek()).toEqual(11);
expect(list.dequeue()).toEqual(11); expect(list.deque()).toEqual(11);
expect(list.dequeue()).toEqual(undefined); expect(list.deque()).toEqual(undefined);
expect(list.length).toEqual(0); expect(list.length).toEqual(0);
// just wanted to make sure that I could not blow up myself when i remove // just wanted to make sure that I could not blow up myself when i remove

View file

@ -13,7 +13,7 @@ test("Trie", function() {
"foolish", "foolish",
]); ]);
trie.remove("fool"); trie.delete("fool");
expect(trie.find("fo").sort()).toEqual([ expect(trie.find("fo").sort()).toEqual([
"foo", "foo",

View file

@ -9,5 +9,6 @@ test("two crystal balls", function () {
} }
expect(two_crystal_balls(data)).toEqual(idx); expect(two_crystal_balls(data)).toEqual(idx);
expect(two_crystal_balls(new Array(821).fill(false))).toEqual(-1);
}); });

View file

@ -12,7 +12,7 @@
"baseUrl": "src", "baseUrl": "src",
"paths": { "paths": {
"@code/*": [ "@code/*": [
"day1/*" "day5/*"
] ]
} }
}, },