Skip to content

Commit

Permalink
fix: improve 8767-Combination & 8987-Subsequence test cases (#31704)
Browse files Browse the repository at this point in the history
  • Loading branch information
dca123 committed May 3, 2024
1 parent e5148b4 commit 873ac35
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 4 deletions.
24 changes: 22 additions & 2 deletions questions/08767-medium-combination/test-cases.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
import type { Equal, Expect } from '@type-challenges/utils'

type cases = [
Expect<Equal<Combination<['foo', 'bar', 'baz']>, 'foo' | 'bar' | 'baz' | 'foo bar' | 'foo bar baz' | 'foo baz' | 'foo baz bar' | 'bar foo' | 'bar foo baz' | 'bar baz' | 'bar baz foo' | 'baz foo' | 'baz foo bar' | 'baz bar' | 'baz bar foo'>>,
]
Expect<Equal<Combination<['foo', 'bar', 'baz']>,
'foo' | 'bar' | 'baz' | 'foo bar' | 'foo bar baz' | 'foo baz' | 'foo baz bar' | 'bar foo' | 'bar foo baz' | 'bar baz' | 'bar baz foo' | 'baz foo' | 'baz foo bar' | 'baz bar' | 'baz bar foo'>>,
Expect<Equal<Combination<['apple', 'banana', 'cherry']>,
'apple' | 'banana' | 'cherry' |
'apple banana' | 'apple cherry' | 'banana apple' | 'banana cherry' | 'cherry apple' | 'cherry banana' |
'apple banana cherry' | 'apple cherry banana' | 'banana apple cherry' | 'banana cherry apple' | 'cherry apple banana' | 'cherry banana apple'>>,
Expect<Equal<Combination<['red', 'green', 'blue', 'yellow']>,
'red' | 'green' | 'blue' | 'yellow' |
'red green' | 'red blue' | 'red yellow' | 'green red' | 'green blue' | 'green yellow' | 'blue red' | 'blue green' | 'blue yellow' | 'yellow red' | 'yellow green' | 'yellow blue' |
'red green blue' | 'red green yellow' | 'red blue green' | 'red blue yellow' | 'red yellow green' | 'red yellow blue' |
'green red blue' | 'green red yellow' | 'green blue red' | 'green blue yellow' | 'green yellow red' | 'green yellow blue' |
'blue red green' | 'blue red yellow' | 'blue green red' | 'blue green yellow' | 'blue yellow red' | 'blue yellow green' |
'yellow red green' | 'yellow red blue' | 'yellow green red' | 'yellow green blue' | 'yellow blue red' | 'yellow blue green' |
'red green blue yellow' | 'red green yellow blue' | 'red blue green yellow' | 'red blue yellow green' | 'red yellow green blue' | 'red yellow blue green' |
'green red blue yellow' | 'green red yellow blue' | 'green blue red yellow' | 'green blue yellow red' | 'green yellow red blue' | 'green yellow blue red' |
'blue red green yellow' | 'blue red yellow green' | 'blue green red yellow' | 'blue green yellow red' | 'blue yellow red green' | 'blue yellow green red' |
'yellow red green blue' | 'yellow red blue green' | 'yellow green red blue' | 'yellow green blue red' | 'yellow blue red green' | 'yellow blue green red'>>
,
Expect<Equal<Combination<['one', 'two']>,
'one' | 'two' |
'one two' | 'two one'>>
]
23 changes: 21 additions & 2 deletions questions/08987-medium-subsequence/test-cases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,24 @@ import type { Equal, Expect } from '@type-challenges/utils'

type cases = [
Expect<Equal<Subsequence<[1, 2]>, [] | [1] | [2] | [1, 2]>>,
Expect<Equal<Subsequence<[1, 2, 3]>, [] | [1] | [2] | [1, 2] | [3] | [1, 3] | [2, 3] | [1, 2, 3] >>,
]
Expect<Equal<Subsequence<[1, 2, 3]>, [] | [1] | [2] | [1, 2] | [3] | [1, 3] | [2, 3] | [1, 2, 3]>>,
Expect<Equal<Subsequence<[1, 2, 3, 4, 5]>,
[] |
[1] | [2] | [3] | [4] | [5] |
[1, 2] | [1, 3] | [1, 4] | [1, 5] | [2, 3] | [2, 4] | [2, 5] | [3, 4] | [3, 5] | [4, 5] |
[1, 2, 3] | [1, 2, 4] | [1, 2, 5] | [1, 3, 4] | [1, 3, 5] | [1, 4, 5] | [2, 3, 4] | [2, 3, 5] | [2, 4, 5] | [3, 4, 5] |
[1, 2, 3, 4] | [1, 2, 3, 5] | [1, 2, 4, 5] | [1, 3, 4, 5] | [2, 3, 4, 5] |
[1, 2, 3, 4, 5]
>>,
Expect<Equal<Subsequence<['a', 'b', 'c']>,
[] |
['a'] | ['b'] | ['c'] |
['a', 'b'] | ['a', 'c'] | ['b', 'c'] |
['a', 'b', 'c']
>>,
Expect<Equal<Subsequence<['x', 'y']>,
[] |
['x'] | ['y'] |
['x', 'y']
>>
]

0 comments on commit 873ac35

Please sign in to comment.