feat: working array list

This commit is contained in:
mpaulson 2022-06-23 11:17:27 -06:00
parent 17b5708d59
commit 29de257bea
13 changed files with 29 additions and 19 deletions

3
.gitignore vendored
View file

@ -1,3 +1,6 @@
node_modules node_modules
src/day* src/day*
./ligma.config.js
dist

View file

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

View file

@ -13,9 +13,13 @@
"typescript": "^4.7.4" "typescript": "^4.7.4"
}, },
"scripts": { "scripts": {
"test": "jest ArrayList" "test": "jest ArrayList",
"clear": "./scripts/clear",
"generate": "./scripts/generate",
"start": "echo vim /home/mpaulson/personal/kata/src/day9",
"day": "echo /home/mpaulson/personal/kata/src/day10"
}, },
"kata_stats": { "kata_stats": {
"ArrayList": 4 "ArrayList": 8
} }
} }

View file

@ -1,9 +1,10 @@
const fs = require("fs"); const fs = require("fs");
const path = require("path"); const path = require("path");
module.exports.package_json = function(config) { module.exports.package_json = function(config, day_path) {
const package_json = require("../package.json"); const package_json = require("../package.json");
package_json.scripts.test = `jest ${config.dsa.join(" ")}`; package_json.scripts.test = `jest ${config.dsa.join(" ")}`;
package_json.scripts.day = `echo ${day_path}`;
package_json.kata_stats = config.dsa.reduce((acc, ds) => { package_json.kata_stats = config.dsa.reduce((acc, ds) => {
if (!acc[ds]) { if (!acc[ds]) {
@ -13,6 +14,7 @@ module.exports.package_json = function(config) {
return acc; return acc;
}, package_json.kata_stats || {}); }, package_json.kata_stats || {});
fs.writeFileSync( fs.writeFileSync(
path.join(__dirname, "..", "package.json"), path.join(__dirname, "..", "package.json"),
JSON.stringify(package_json, null, 4)); JSON.stringify(package_json, null, 4));

View file

@ -55,5 +55,5 @@ config.dsa.forEach(ds => {
const align = require("./align-configs"); const align = require("./align-configs");
align.jest(day_name); align.jest(day_name);
align.ts_config(day_name); align.ts_config(day_name);
align.package_json(config, day_name); align.package_json(config, day_path);

View file

@ -1,4 +1,4 @@
import ArrayList from "@code/array-list"; import ArrayList from "@code/ArrayList";
test("array-list", function() { test("array-list", function() {
const list = new ArrayList<number>(3); const list = new ArrayList<number>(3);
@ -7,14 +7,15 @@ test("array-list", function() {
list.add(7); list.add(7);
list.add(9); list.add(9);
expect(list.remove()).toEqual(5); expect(list.get(2)).toEqual(9);
expect(list.removeAt(1)).toEqual(7);
expect(list.length).toEqual(2); expect(list.length).toEqual(2);
list.add(11); list.add(11);
expect(list.remove()).toEqual(7); expect(list.removeAt(1)).toEqual(9);
expect(list.remove()).toEqual(9); expect(list.remove(9)).toEqual(undefined);
expect(list.remove()).toEqual(11); expect(list.removeAt(0)).toEqual(5);
expect(list.remove()).toEqual(undefined); expect(list.removeAt(0)).toEqual(11);
expect(list.length).toEqual(0); expect(list.length).toEqual(0);
list.add(5); list.add(5);
@ -26,7 +27,7 @@ test("array-list", function() {
list.add(11); list.add(11);
list.add(13); list.add(13);
expect(list.length).toEqual(5); expect(list.length).toEqual(4);
expect(list.capacity).toEqual(6); expect(list.capacity).toEqual(6);
}); });

View file

@ -1,4 +1,4 @@
import LinkedList from "@code/doubly-linked-list"; import LinkedList from "@code/DoublyLinkedList";
test("linked-list", function() { test("linked-list", function() {
const list = new LinkedList<number>(); const list = new LinkedList<number>();

View file

@ -1,4 +1,4 @@
import insertion_sort from "@code/insertion-sort"; import insertion_sort from "@code/InsertionSort";
test("insertion-sort", function() { test("insertion-sort", function() {
const arr = [9, 3, 7, 4, 69, 420, 42]; const arr = [9, 3, 7, 4, 69, 420, 42];

View file

@ -1,4 +1,4 @@
import merge_sort from "@code/merge-sort"; import merge_sort from "@code/MergeSort";
test("merge-sort", function() { test("merge-sort", function() {
const arr = [9, 3, 7, 4, 69, 420, 42]; const arr = [9, 3, 7, 4, 69, 420, 42];

View file

@ -1,4 +1,4 @@
import Queue from "@code/queue"; import Queue from "@code/Queue";
test("queue", function() { test("queue", function() {
const list = new Queue<number>(); const list = new Queue<number>();

View file

@ -1,4 +1,4 @@
import LinkedList from "@code/single-linked-list"; import LinkedList from "@code/SingleLinkedList";
test("linked-list", function() { test("linked-list", function() {
const list = new LinkedList<number>(); const list = new LinkedList<number>();

View file

@ -1,4 +1,4 @@
import Stack from "@code/stack"; import Stack from "@code/Stack";
test("queue", function() { test("queue", function() {
const list = new Stack<number>(); const list = new Stack<number>();

View file

@ -15,7 +15,7 @@
"baseUrl": "src", "baseUrl": "src",
"paths": { "paths": {
"@code/*": [ "@code/*": [
"day6/*" "day10/*"
] ]
} }
}, },