Skip to content

Commit 7d371e8

Browse files
committed
test updates
1 parent 1cb37e9 commit 7d371e8

5 files changed

+28
-31
lines changed

combinations_test.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ Deno.test("r < n", () => {
7979
assertEquals(actual, expected);
8080
});
8181

82-
for (let n = 0; n <= 8; n++) {
82+
for (let n = 0; n < 8; n++) {
8383
const iterable = range(n);
8484
for (let r = 0; r < 8; r++) {
8585
Deno.test(`comb(${r}, ${n})`, () => {
@@ -90,21 +90,21 @@ for (let n = 0; n <= 8; n++) {
9090
}
9191
}
9292

93-
for (let n = 0; n <= 8; n++) {
93+
for (let n = 0; n < 8; n++) {
9494
const iterable = range(n);
9595
for (let r = 0; r < 8; r++) {
96-
Deno.test(`combinations1([${r}, ${iterable}])`, () => {
96+
Deno.test(`combinations1(${r}, [${iterable}])`, () => {
9797
const actual = [...combinations(r, iterable)];
9898
const expected1 = [...combinations1(r, iterable)];
9999
assertEquals(actual, expected1);
100100
});
101101
}
102102
}
103103

104-
for (let n = 0; n <= 8; n++) {
104+
for (let n = 0; n < 8; n++) {
105105
const iterable = range(n);
106106
for (let r = 0; r < 8; r++) {
107-
Deno.test(`combinations2([${r}, ${iterable}])`, () => {
107+
Deno.test(`combinations2(${r}, [${iterable}])`, () => {
108108
const actual = [...combinations(r, iterable)];
109109
const expected2 = [...combinations2(r, iterable)];
110110
assertEquals(actual, expected2);

combinations_with_replacement_test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ Deno.test("r = 65_537", () => {
114114
assertEquals(actual, expected);
115115
});
116116

117-
for (let n = 0; n <= 8; n++) {
117+
for (let n = 0; n < 8; n++) {
118118
const iterable = range(n);
119119
for (let r = 0; r < 8; r++) {
120120
Deno.test(`cwr(${r}, ${n})`, () => {
@@ -125,7 +125,7 @@ for (let n = 0; n <= 8; n++) {
125125
}
126126
}
127127

128-
for (let n = 0; n <= 8; n++) {
128+
for (let n = 0; n < 8; n++) {
129129
const iterable = range(n);
130130
for (let r = 0; r < 8; r++) {
131131
Deno.test(`combinationsWithReplacement1(${r}, [${iterable}])`, () => {

permutations_test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Deno.test("r < n", () => {
119119
assertEquals(actual, expected);
120120
});
121121

122-
for (let n = 0; n <= 8; n++) {
122+
for (let n = 0; n < 8; n++) {
123123
const iterable = range(n);
124124
for (let r = 0; r < 8; r++) {
125125
Deno.test(`perm(${r}, ${n})`, () => {
@@ -130,7 +130,7 @@ for (let n = 0; n <= 8; n++) {
130130
}
131131
}
132132

133-
for (let n = 0; n <= 8; n++) {
133+
for (let n = 0; n < 8; n++) {
134134
const iterable = range(n);
135135
for (let r = 0; r < 8; r++) {
136136
Deno.test(`permutations1(${r}, [${iterable}])`, () => {

power_set_test.ts

+7-10
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Deno.test("n = 3", () => {
3838
assertEquals(actual, expected);
3939
});
4040

41-
for (let n = 0; n <= 8; n++) {
41+
for (let n = 0; n < 8; n++) {
4242
const iterable = range(n);
4343
Deno.test(`pwr(${n})`, () => {
4444
const actual = [...powerSet(iterable)];
@@ -47,7 +47,7 @@ for (let n = 0; n <= 8; n++) {
4747
});
4848
}
4949

50-
for (let n = 0; n <= 8; n++) {
50+
for (let n = 0; n < 8; n++) {
5151
const iterable = range(n);
5252
Deno.test(`powerSet1([${iterable}])`, () => {
5353
const actual = [...powerSet(iterable)];
@@ -56,7 +56,7 @@ for (let n = 0; n <= 8; n++) {
5656
});
5757
}
5858

59-
for (let n = 0; n <= 8; n++) {
59+
for (let n = 0; n < 8; n++) {
6060
const iterable = range(n);
6161
Deno.test(`powerSet2([${iterable}])`, () => {
6262
const actual = [...powerSet(iterable)];
@@ -65,7 +65,7 @@ for (let n = 0; n <= 8; n++) {
6565
});
6666
}
6767

68-
for (let n = 0; n <= 8; n++) {
68+
for (let n = 0; n < 8; n++) {
6969
const iterable = range(n);
7070
Deno.test(`powerSet3([${iterable}])`, () => {
7171
const actual = [...powerSet(iterable)];
@@ -87,8 +87,7 @@ function pwr(n: number): number {
8787
function* powerSet1<T>(iterable: Iterable<T>): Generator<T[]> {
8888
const pool = [...iterable];
8989
const n = pool.length;
90-
yield [];
91-
for (let r = 1; r <= n; r++) {
90+
for (let r = 0; r <= n; r++) {
9291
yield* combinations(r, pool);
9392
}
9493
}
@@ -97,8 +96,7 @@ function* powerSet1<T>(iterable: Iterable<T>): Generator<T[]> {
9796
function* powerSet2<T>(iterable: Iterable<T>): Generator<T[]> {
9897
const pool = [...iterable];
9998
const n = pool.length;
100-
yield [];
101-
for (let r = 1; r <= n; r++) {
99+
for (let r = 0; r <= n; r++) {
102100
yield* combinations1(r, pool);
103101
}
104102
}
@@ -107,8 +105,7 @@ function* powerSet2<T>(iterable: Iterable<T>): Generator<T[]> {
107105
function* powerSet3<T>(iterable: Iterable<T>): Generator<T[]> {
108106
const pool = [...iterable];
109107
const n = pool.length;
110-
yield [];
111-
for (let r = 1; r <= n; r++) {
108+
for (let r = 0; r <= n; r++) {
112109
yield* combinations2(r, pool);
113110
}
114111
}

product_test.ts

+12-12
Original file line numberDiff line numberDiff line change
@@ -163,32 +163,32 @@ function test(func: typeof productLength | typeof productContent): void {
163163
func(r);
164164
}
165165

166-
for (let n0 = 0; n0 <= 4; n0++) {
166+
for (let n0 = 0; n0 < 4; n0++) {
167167
for (let r = 0; r < 4; r++) {
168168
func(r, n0);
169169
}
170170
}
171171

172-
for (let n0 = 0; n0 <= 4; n0++) {
173-
for (let n1 = 0; n1 <= 4; n1++) {
172+
for (let n0 = 0; n0 < 4; n0++) {
173+
for (let n1 = 0; n1 < 4; n1++) {
174174
for (let r = 0; r < 2; r++) {
175175
func(r, n0, n1);
176176
}
177177
}
178178
}
179179

180-
for (let n0 = 0; n0 <= 4; n0++) {
181-
for (let n1 = 0; n1 <= 4; n1++) {
182-
for (let n2 = 0; n2 <= 4; n2++) {
180+
for (let n0 = 0; n0 < 4; n0++) {
181+
for (let n1 = 0; n1 < 4; n1++) {
182+
for (let n2 = 0; n2 < 4; n2++) {
183183
func(1, n0, n1, n2);
184184
}
185185
}
186186
}
187187

188-
for (let n0 = 0; n0 <= 4; n0++) {
189-
for (let n1 = 0; n1 <= 4; n1++) {
190-
for (let n2 = 0; n2 <= 4; n2++) {
191-
for (let n3 = 0; n3 <= 4; n3++) {
188+
for (let n0 = 0; n0 < 4; n0++) {
189+
for (let n1 = 0; n1 < 4; n1++) {
190+
for (let n2 = 0; n2 < 4; n2++) {
191+
for (let n3 = 0; n3 < 4; n3++) {
192192
func(1, n0, n1, n2, n3);
193193
}
194194
}
@@ -199,7 +199,7 @@ function test(func: typeof productLength | typeof productContent): void {
199199
/** Tests `product` for length against `prod`. */
200200
function productLength(r: number, ...ns: number[]) {
201201
const iterables = getIterables(...ns);
202-
Deno.test(`prod(${r}, ${ns.join(", ")})`, () => {
202+
Deno.test(`prod(${r}${ns.length ? ", " : ""}${ns.join(", ")})`, () => {
203203
const actual = [...product(r, ...iterables)];
204204
const expectedLength = prod(r, ...ns);
205205
assertStrictEquals(actual.length, expectedLength);
@@ -210,7 +210,7 @@ function productLength(r: number, ...ns: number[]) {
210210
function productContent(r: number, ...ns: number[]) {
211211
const iterables = getIterables(...ns);
212212
const restArgs = JSON.stringify(iterables).slice(1, -1);
213-
Deno.test(`product1(${r}, ${restArgs})`, () => {
213+
Deno.test(`product1(${r}${ns.length ? ", " : ""}${restArgs})`, () => {
214214
const actual = [...product(r, ...iterables)];
215215
const expected1 = [...product1(r, ...iterables)];
216216
assertEquals(actual, expected1);

0 commit comments

Comments
 (0)