Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion exercises/practice/anagram/.meta/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"flag.tests.includes-optional": false,
"flag.tests.jest": true,
"flag.tests.tstyche": false
}
},
"source": "Inspired by the Extreme Startup game",
"source_url": "https://github.com/rchatley/extreme_startup"
}
97 changes: 56 additions & 41 deletions exercises/practice/bob/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -1,78 +1,93 @@
# This is an auto-generated file. Regular comments will be removed when this
# file is regenerated. Regenerating will not touch any manually added keys,
# so comments can be added in a "comment" key.
# This is an auto-generated file.
#
# Regenerating this file via `configlet sync` will:
# - Recreate every `description` key/value pair
# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications
# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion)
# - Preserve any other key/value pair
#
# As user-added comments (using the # character) will be removed when this file
# is regenerated, comments can be added via a `comment` key.

[e162fead-606f-437a-a166-d051915cea8e]
description = "stating something"
[8a2e771d-d6f1-4e3f-b6c6-b41495556e37]
description = "asking a question"

[73a966dc-8017-47d6-bb32-cf07d1a5fcd9]
description = "shouting"

[d6c98afd-df35-4806-b55e-2c457c3ab748]
description = "shouting gibberish"
[a5193c61-4a92-4f68-93e2-f554eb385ec6]
description = "forceful question"

[8a2e771d-d6f1-4e3f-b6c6-b41495556e37]
description = "asking a question"
[bc39f7c6-f543-41be-9a43-fd1c2f753fc0]
description = "silence"

[e162fead-606f-437a-a166-d051915cea8e]
description = "stating something"

[81080c62-4e4d-4066-b30a-48d8d76920d9]
description = "asking a numeric question"

[2a02716d-685b-4e2e-a804-2adaf281c01e]
description = "asking gibberish"

[c02f9179-ab16-4aa7-a8dc-940145c385f7]
description = "talking forcefully"
[bb0011c5-cd52-4a5b-8bfb-a87b6283b0e2]
description = "question with no letters"

[153c0e25-9bb5-4ec5-966e-598463658bcd]
description = "using acronyms in regular speech"
[9bfc677d-ea3a-45f2-be44-35bc8fa3753e]
description = "non-letters with question"

[a5193c61-4a92-4f68-93e2-f554eb385ec6]
description = "forceful question"
[8608c508-f7de-4b17-985b-811878b3cf45]
description = "prattling on"

[a20e0c54-2224-4dde-8b10-bd2cdd4f61bc]
description = "shouting numbers"
[05b304d6-f83b-46e7-81e0-4cd3ca647900]
description = "ending with whitespace"

[f7bc4b92-bdff-421e-a238-ae97f230ccac]
description = "no letters"
[66953780-165b-4e7e-8ce3-4bcb80b6385a]
description = "multiple line question"
include = false

[bb0011c5-cd52-4a5b-8bfb-a87b6283b0e2]
description = "question with no letters"
[2c7278ac-f955-4eb4-bf8f-e33eb4116a15]
description = "multiple line question"
reimplements = "66953780-165b-4e7e-8ce3-4bcb80b6385a"

[d6c98afd-df35-4806-b55e-2c457c3ab748]
description = "shouting gibberish"

[3c954328-86fb-4c71-8961-e18d6a5e2517]
description = "shouting a statement containing a question mark"

[a20e0c54-2224-4dde-8b10-bd2cdd4f61bc]
description = "shouting numbers"

[496143c8-1c31-4c01-8a08-88427af85c66]
description = "shouting with special characters"

[e6793c1c-43bd-4b8d-bc11-499aea73925f]
description = "shouting with no exclamation mark"

[aa8097cc-c548-4951-8856-14a404dd236a]
description = "statement containing question mark"

[9bfc677d-ea3a-45f2-be44-35bc8fa3753e]
description = "non-letters with question"

[8608c508-f7de-4b17-985b-811878b3cf45]
description = "prattling on"

[bc39f7c6-f543-41be-9a43-fd1c2f753fc0]
description = "silence"

[d6c47565-372b-4b09-b1dd-c40552b8378b]
description = "prolonged silence"

[4428f28d-4100-4d85-a902-e5a78cb0ecd3]
description = "alternate silence"

[66953780-165b-4e7e-8ce3-4bcb80b6385a]
description = "multiple line question"
[72bd5ad3-9b2f-4931-a988-dce1f5771de2]
description = "other whitespace"

[5371ef75-d9ea-4103-bcfa-2da973ddec1b]
description = "starting with whitespace"
[c02f9179-ab16-4aa7-a8dc-940145c385f7]
description = "talking forcefully"

[05b304d6-f83b-46e7-81e0-4cd3ca647900]
description = "ending with whitespace"
[153c0e25-9bb5-4ec5-966e-598463658bcd]
description = "using acronyms in regular speech"

[72bd5ad3-9b2f-4931-a988-dce1f5771de2]
description = "other whitespace"
[f7bc4b92-bdff-421e-a238-ae97f230ccac]
description = "no letters"

[aa8097cc-c548-4951-8856-14a404dd236a]
description = "statement containing question mark"

[5371ef75-d9ea-4103-bcfa-2da973ddec1b]
description = "starting with whitespace"

[12983553-8601-46a8-92fa-fcaa3bc4a2a0]
description = "non-question ending with whitespace"
114 changes: 62 additions & 52 deletions exercises/practice/bob/bob.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,29 @@ import { describe, it, expect, xit } from '@jest/globals'
import { hey } from './bob.ts'

describe('Bob', () => {
it('stating something', () => {
const result = hey('Tom-ay-to, tom-aaaah-to.')
expect(result).toEqual('Whatever.')
it('asking a question', () => {
const result = hey('Does this cryogenic chamber make me look fat?')
expect(result).toEqual('Sure.')
})

xit('shouting', () => {
const result = hey('WATCH OUT!')
expect(result).toEqual('Whoa, chill out!')
})

xit('shouting gibberish', () => {
const result = hey('FCECDFCAAB')
expect(result).toEqual('Whoa, chill out!')
xit('forceful question', () => {
const result = hey("WHAT'S GOING ON?")
expect(result).toEqual("Calm down, I know what I'm doing!")
})

xit('asking a question', () => {
const result = hey('Does this cryogenic chamber make me look fat?')
expect(result).toEqual('Sure.')
xit('silence', () => {
const result = hey('')
expect(result).toEqual('Fine. Be that way!')
})

xit('stating something', () => {
const result = hey('Tom-ay-to, tom-aaaah-to.')
expect(result).toEqual('Whatever.')
})

xit('asking a numeric question', () => {
Expand All @@ -32,63 +37,58 @@ describe('Bob', () => {
expect(result).toEqual('Sure.')
})

xit('talking forcefully', () => {
const result = hey("Let's go make out behind the gym!")
expect(result).toEqual('Whatever.')
})

xit('using acronyms in regular speech', () => {
const result = hey("It's OK if you don't want to go to the DMV.")
expect(result).toEqual('Whatever.')
xit('question with no letters', () => {
const result = hey('4?')
expect(result).toEqual('Sure.')
})

xit('forceful question', () => {
const result = hey('WHAT THE HELL WERE YOU THINKING?')
expect(result).toEqual("Calm down, I know what I'm doing!")
xit('non-letters with question', () => {
const result = hey(':) ?')
expect(result).toEqual('Sure.')
})

xit('shouting numbers', () => {
const result = hey('1, 2, 3 GO!')
expect(result).toEqual('Whoa, chill out!')
xit('prattling on', () => {
const result = hey('Wait! Hang on. Are you going to be OK?')
expect(result).toEqual('Sure.')
})

xit('no letters', () => {
const result = hey('1, 2, 3')
expect(result).toEqual('Whatever.')
xit('ending with whitespace', () => {
const result = hey('Okay if like my spacebar quite a bit? ')
expect(result).toEqual('Sure.')
})

xit('question with no letters', () => {
const result = hey('4?')
xit('multiple line question', () => {
const result = hey('\nDoes this cryogenic chamber make\n me look fat?')
expect(result).toEqual('Sure.')
})

xit('shouting with special characters', () => {
const result = hey('ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!')
xit('shouting gibberish', () => {
const result = hey('FCECDFCAAB')
expect(result).toEqual('Whoa, chill out!')
})

xit('shouting with no exclamation mark', () => {
const result = hey('I HATE THE DMV')
xit('shouting a statement containing a question mark', () => {
const result = hey('DO LIONS EAT PEOPLE? AHHHHH.')
expect(result).toEqual('Whoa, chill out!')
})

xit('statement containing question mark', () => {
const result = hey('Ending with ? means a question.')
expect(result).toEqual('Whatever.')
xit('shouting numbers', () => {
const result = hey('1, 2, 3 GO!')
expect(result).toEqual('Whoa, chill out!')
})

xit('prattling on', () => {
const result = hey('Wait! Hang on. Are you going to be OK?')
expect(result).toEqual('Sure.')
xit('shouting with special characters', () => {
const result = hey('ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!')
expect(result).toEqual('Whoa, chill out!')
})

xit('silence', () => {
const result = hey('')
expect(result).toEqual('Fine. Be that way!')
xit('shouting with no exclamation mark', () => {
const result = hey('I HATE THE DENTIST')
expect(result).toEqual('Whoa, chill out!')
})

xit('prolonged silence', () => {
const result = hey(' ')
const result = hey(' ')
expect(result).toEqual('Fine. Be that way!')
})

Expand All @@ -97,24 +97,34 @@ describe('Bob', () => {
expect(result).toEqual('Fine. Be that way!')
})

xit('multiple line question', () => {
const result = hey('\nDoes this cryogenic chamber make me look fat?\nNo.')
xit('other whitespace', () => {
const result = hey('\n\r \t')
expect(result).toEqual('Fine. Be that way!')
})

xit('talking forcefully', () => {
const result = hey('Hi there!')
expect(result).toEqual('Whatever.')
})

xit('starting with whitespace', () => {
const result = hey(' hmmmmmmm...')
xit('using acronyms in regular speech', () => {
const result = hey("It's OK if you don't want to go work for NASA.")
expect(result).toEqual('Whatever.')
})

xit('ending with whitespace', () => {
const result = hey('Okay if like my spacebar quite a bit? ')
expect(result).toEqual('Sure.')
xit('no letters', () => {
const result = hey('1, 2, 3')
expect(result).toEqual('Whatever.')
})

xit('other whitespace', () => {
const result = hey('\n\r \t')
expect(result).toEqual('Fine. Be that way!')
xit('statement containing question mark', () => {
const result = hey('Ending with ? means a question.')
expect(result).toEqual('Whatever.')
})

xit('starting with whitespace', () => {
const result = hey(' hmmmmmmm...')
expect(result).toEqual('Whatever.')
})

xit('non-question ending with whitespace', () => {
Expand Down
Loading
Loading