Skip to content

Commit c43cd97

Browse files
committed
♻️ Update
1 parent 4f28981 commit c43cd97

File tree

14 files changed

+51
-65
lines changed

14 files changed

+51
-65
lines changed

deps.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export {
22
assert,
33
assertEquals,
4+
assertFalse,
45
assertNotEquals,
56
assertThrows,
6-
} from "https://deno.land/std@0.137.0/testing/asserts.ts";
7+
} from "https://deno.land/std@0.139.0/testing/asserts.ts";

src/language/average.bench.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
// Benchmarking Lover
1+
import { average, averageIterative } from "./average.ts";
22

3-
import { average, averageFor } from "./average.ts";
3+
const BENCH_DATA = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
44

5-
const BENCH_DATA = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] as const;
6-
7-
Deno.bench("[average] Reduce", { group: "average" }, () => {
5+
Deno.bench("Reduce", { group: "average" }, () => {
86
average(BENCH_DATA);
97
});
108

11-
Deno.bench("[average] For", { group: "average" }, () => {
12-
averageFor(BENCH_DATA);
9+
Deno.bench("Iterative", { group: "average" }, () => {
10+
averageIterative(BENCH_DATA);
1311
});

src/language/average.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ export function average(array: readonly number[]) {
22
return array.reduce((a, b) => a + b) / array.length;
33
}
44

5-
export function averageFor(array: readonly number[]) {
5+
export function averageIterative(array: readonly number[]) {
66
let count = 0;
77

8-
for (const value of array) {
9-
count += value;
8+
for (let index = 0; index < count; index++) {
9+
count += array[index];
1010
}
1111

1212
return count / array.length;

src/language/chessboard.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export function chessboard(length = 8) {
22
let result = "";
3+
34
const newLines = length - 1;
45

56
for (let line = 0; line < length; line++) {

src/language/deep_equal.test.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
import { deepEqual } from "./deep_equal.ts";
2-
import { assert } from "../../deps.ts";
2+
import { assert, assertFalse } from "../../deps.ts";
33

4-
Deno.test("[deepEqual]", () => {
4+
Deno.test("deepEqual", () => {
55
const obj = { here: { is: "an" }, object: 2 };
66

77
assert(deepEqual(obj, obj));
88

9+
assert(deepEqual([1, 2, 3], [1, 2, 3]));
10+
11+
assertFalse(deepEqual([1, 2, 3], [1, 3]));
12+
13+
assertFalse(deepEqual([2, 1], [1, 2]));
14+
915
assert(deepEqual("a", "a"));
1016

11-
assert(!deepEqual(23, 34));
17+
assertFalse(deepEqual(23, 34));
1218

13-
assert(!deepEqual(obj, { here: 1, object: 2 }));
19+
assertFalse(deepEqual(obj, { here: 1, object: 2 }));
1420

1521
assert(deepEqual(obj, { here: { is: "an" }, object: 2 }));
1622

17-
assert(!deepEqual({ a: "b" }, { c: "d" }));
23+
assertFalse(deepEqual({ a: "b" }, { c: "d" }));
1824

19-
assert(!deepEqual({ hey: "rosa", chales: "diah" }, { me: "eliaz" }));
25+
assertFalse(deepEqual({ hey: "rosa", chales: "diah" }, { me: "eliaz" }));
2026
});

src/language/deep_equal.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export function deepEqual(first: any, second: any) {
1717
return first === second;
1818
}
1919

20-
const [firstKeys, secondKeys] = [Object.keys(first), Object.keys(second)];
20+
const [firstKeys, secondKeys] = [first, second].map(Object.keys);
2121

2222
if (firstKeys.length !== secondKeys.length) {
2323
return false;
@@ -28,7 +28,7 @@ export function deepEqual(first: any, second: any) {
2828
return false;
2929
}
3030

31-
if (!deepEqual(first[key] as unknown, second[key])) {
31+
if (!deepEqual(first[key], second[key])) {
3232
return false;
3333
}
3434
}

src/language/fizzbuzz.test.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
import { fizzBuzz, isDivisbleBy } from "./fizzbuzz.ts";
2-
import { assert, assertEquals } from "../../deps.ts";
1+
import { divisibleBy, fizzBuzz } from "./fizzbuzz.ts";
2+
import { assert, assertEquals, assertFalse } from "../../deps.ts";
33

44
Deno.test("[fizzBuzz]", () => {
5-
const result = fizzBuzz(15);
6-
75
const F = "Fizz";
86
const B = "Buzz";
9-
const FB = `${F}${B}` as const;
7+
const FB = "FizzBuzz";
108

119
const expected = [1, 2, F, 4, B, F, 7, 8, F, B, 11, F, 13, 14, F, FB];
1210

13-
assertEquals(result, expected);
11+
assertEquals(fizzBuzz(15), expected);
1412
});
1513

1614
Deno.test("[isDivisbleBy]", () => {
17-
assert(isDivisbleBy(15, 3));
18-
assert(isDivisbleBy(15, 5));
19-
assert(!isDivisbleBy(15, 7));
15+
assert(divisibleBy(15, 3));
16+
assert(divisibleBy(15, 5));
17+
assertFalse(divisibleBy(15, 7));
2018
});

src/language/fizzbuzz.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
export const isDivisbleBy = (n: number, divisor: number) => n % divisor === 0;
1+
export const divisibleBy = (n: number, divisor: number) => n % divisor === 0;
22

33
export function fizzBuzz(max = 100) {
44
const result = [];
55

66
for (let number = 1; number <= max; number++) {
7-
const fizz = isDivisbleBy(number, 3);
8-
const buzz = isDivisbleBy(number, 5);
9-
10-
const fizzBuzz = fizz && buzz;
7+
const fizz = divisibleBy(number, 3);
8+
const buzz = divisibleBy(number, 5);
119

1210
if (fizz) {
1311
result.push("Fizz");
@@ -17,7 +15,7 @@ export function fizzBuzz(max = 100) {
1715
result.push(number);
1816
}
1917

20-
if (fizzBuzz) {
18+
if (fizz && buzz) {
2119
result.push("FizzBuzz");
2220
}
2321
}

src/language/high_order.test.ts

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/language/is_even.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { isEven } from "./is_even.ts";
2-
import { assert, assertThrows } from "../../deps.ts";
2+
import { assert, assertFalse, assertThrows } from "../../deps.ts";
33

44
Deno.test("[isEven]", () => {
55
assert(isEven(2));
6-
assert(!isEven(11));
6+
assertFalse(isEven(11));
77
assert(isEven(24));
88
assert(isEven(24));
99
assert(isEven(50));
10-
assert(!isEven(75));
11-
assert(!isEven(75));
10+
assertFalse(isEven(75));
11+
assertFalse(isEven(75));
1212

1313
assertThrows(() => isEven(-3));
1414

0 commit comments

Comments
 (0)