generated from CodeYourFuture/Module-Template
-
-
Notifications
You must be signed in to change notification settings - Fork 219
NW | 25-ITP-Sep | TzeMing Ho | Sprint 3 | coursework/sprint-3-practice-tdd #710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
TzeMingHo
wants to merge
15
commits into
CodeYourFuture:main
Choose a base branch
from
TzeMingHo:coursework/sprint-3-practice-tdd
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
9d43b8b
npm installed
TzeMingHo 8558783
In 2-practice-tdd, added a test in count.test.js
TzeMingHo ea7e00c
In 2-practice-tdd, created a function to handle count characters
TzeMingHo 7b64029
created tests and function for get-ordinal-number even in large numbers
TzeMingHo f290799
added tests for 0 and negative numbers in get-ordinal-number
TzeMingHo aee6a4f
adding tests and str.repeat(count) in the function
TzeMingHo ae47b0c
restore package-lock.json from origin/main
TzeMingHo 4792575
remove console.log from count.js
TzeMingHo 3bd121a
adding condition checks in count.js and edge cases in the test
TzeMingHo c9b1c7d
adding some condition checks and edge cases in repeat.js and test
TzeMingHo 65578d2
updating tests for TDD approach
TzeMingHo 589841c
fixed typo in count.test.js
TzeMingHo fd74934
ensure the count is an integer
TzeMingHo 41893ad
narrowed down to scope of repeat to only handle a string and a positi…
TzeMingHo 4fc59b2
refactored tests in count and the function
TzeMingHo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,25 @@ | ||
function countChar(stringOfCharacters, findCharacter) { | ||
return 5 | ||
let arrayOfCharacters = []; | ||
if (typeof stringOfCharacters === "string") { | ||
arrayOfCharacters = stringOfCharacters.split(""); | ||
} else { | ||
throw new Error("Input str should be a string"); | ||
} | ||
|
||
if (typeof findCharacter !== "string") { | ||
throw new Error("Input char should be a string"); | ||
} | ||
if (findCharacter.length !== 1) { | ||
throw new Error("Input char should be a single character"); | ||
} | ||
|
||
let count = 0; | ||
for (let index = 0; index < arrayOfCharacters.length; index++) { | ||
if (arrayOfCharacters[index] === findCharacter) { | ||
count += 1; | ||
} | ||
} | ||
return count; | ||
} | ||
|
||
module.exports = countChar; |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Your test case covers the most basic cases - but can you think of some edge cases you should write tests for?
Writing tests to cover edge cases will protect your implementation from unexpected situations and make your code more robust. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,21 @@ | ||
function getOrdinalNumber(num) { | ||
return "1st"; | ||
const stringNum = String(num); | ||
const paddedLast2Digit = stringNum.padStart(2, "0").slice(-2); | ||
const numberValue = Number(paddedLast2Digit); | ||
|
||
if (numberValue >= 11 && numberValue <= 13) { | ||
return `${stringNum}th`; | ||
} | ||
if (stringNum.endsWith("1")) { | ||
return `${stringNum}st`; | ||
} | ||
if (stringNum.endsWith("2")) { | ||
return `${stringNum}nd`; | ||
} | ||
if (stringNum.endsWith("3")) { | ||
return `${stringNum}rd`; | ||
} | ||
return `${stringNum}th`; | ||
} | ||
|
||
module.exports = getOrdinalNumber; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,11 @@ | ||
function repeat() { | ||
return "hellohellohello"; | ||
function repeat(str, count) { | ||
if (typeof str !== "string") { | ||
throw new Error("Input str should be a string in format 'Hello'"); | ||
} | ||
if (!Number.isInteger(count) || count <= 0) { | ||
throw new Error("Count should be a positive integer number"); | ||
} | ||
return str.repeat(count); | ||
} | ||
|
||
module.exports = repeat; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might have been a leftover from debugging, but console logs should be removed before submitting your PR.