From 3fd070df5a6ff05a48927eae8c3d2a36da8c3b40 Mon Sep 17 00:00:00 2001 From: kcee917 Date: Tue, 19 Jan 2021 22:12:31 -0500 Subject: [PATCH 1/2] Add lab to repository --- basicMath/MathUtilities.js | 8 ++-- basicMath/MathUtilities.test.js | 2 +- strangerStrings/StrangerStrings.js | 60 +++++++++++++++++-------- strangerStrings/StrangerStrings.test.js | 7 ++- 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/basicMath/MathUtilities.js b/basicMath/MathUtilities.js index 705dd88..ca4062c 100644 --- a/basicMath/MathUtilities.js +++ b/basicMath/MathUtilities.js @@ -2,19 +2,19 @@ class MathUtilities { add(baseValue, valueToAdd){ - return -1; + return baseValue + valueToAdd; } subtract(baseValue, valueToAdd){ - return -1; + return baseValue - valueToAdd ; } divide(baseValue, valueToAdd){ - return -1; + return baseValue / valueToAdd; } multiply(baseValue, valueToAdd){ - return -1; + return baseValue * valueToAdd; } } diff --git a/basicMath/MathUtilities.test.js b/basicMath/MathUtilities.test.js index 2d37cf1..bf0c9b2 100644 --- a/basicMath/MathUtilities.test.js +++ b/basicMath/MathUtilities.test.js @@ -74,7 +74,7 @@ test("Test 2 Integer Division", () => { let addedValue = 1; // When - let expected = 127; + let expected = 2; let actual = math.divide(baseValue, addedValue); //Then expect(actual).toEqual(expected); diff --git a/strangerStrings/StrangerStrings.js b/strangerStrings/StrangerStrings.js index 7fb3629..6991e8d 100644 --- a/strangerStrings/StrangerStrings.js +++ b/strangerStrings/StrangerStrings.js @@ -1,36 +1,60 @@ class StrangerStrings { - getHelloWorld(){ - return null; + return "Hello World" ; } - concatenation(firstSegment, secondSegment){ - return null; + return firstSegment + secondSegment; } - getPrefix(input){ - return null; + return input.substring(0, 3); } - getSuffix(input){ - return null; - } + //return input.substring(input.length-3, input.length); + // Find the last leter of the word. + let firstLetter= input.charAt(input.length-3); + // find the 2nd to last letter; + let secondLetter= input.charAt(input.length-2); + // find the 3rd to last letter + let thirdLetter= input.charAt(input.length-1); + // combine letters + let answer= firstLetter + secondLetter + thirdLetter; + return answer; + } + getMiddleCharacter(inputValue){ + var position; + var length; + if(inputValue.length % 2 == 0) { + position = inputValue.length / 2 - 1; + length = 2; + } else { + position = (inputValue.length - 1)/ 2; + length = 1; - getMiddleCharacter(input){ - return null; - } + } + return inputValue.substring(position, position + length) + } getFirstWord(input){ - return null; + var firstWord = input.substr(0, input.indexOf(" ")); + return firstWord; + } - getSecondWord(spaceDelimnatedInput){ - return null; - } + + getSecondWord(input){ + var secondWord = input.split(" "); + return secondWord[1]; + +} + reverse(input){ - return null; + var newString = ""; + for (var i = input.length - 1; i >= 0; i--) { + newString += input[i]; + } + return newString; + } } -} module.exports = StrangerStrings; \ No newline at end of file diff --git a/strangerStrings/StrangerStrings.test.js b/strangerStrings/StrangerStrings.test.js index 59da8fa..8a7b7c4 100644 --- a/strangerStrings/StrangerStrings.test.js +++ b/strangerStrings/StrangerStrings.test.js @@ -67,11 +67,14 @@ test("return the middle character of `inputValue`", () => { // When - let actual = strangerStrings.getMiddleCharacter(input); + let actual = strangerStrings.getMiddleCharacter(inputValue); //Then expect(actual).toEqual(expected); }); + + + test("return the first sequence of characters", () => { // Given let strangerStrings = new StrangerStrings(); @@ -93,7 +96,7 @@ test("return the second sequence of characters", () => { let expected = "Clan"; - + // When let actual = strangerStrings.getSecondWord(inputValue); //Then From debc9515f2904d56be8d08bfb0552178cc2ab434 Mon Sep 17 00:00:00 2001 From: kcee917 <74575142+kcee917@users.noreply.github.com> Date: Wed, 20 Jan 2021 17:06:59 -0500 Subject: [PATCH 2/2] Completed JS-Basic-Drillz-part1 16 tests passed --- strangerStrings/StrangerStrings.js | 94 ++++++---- strangerStrings/StrangerStrings.test.js | 231 ++++++++++++------------ 2 files changed, 176 insertions(+), 149 deletions(-) diff --git a/strangerStrings/StrangerStrings.js b/strangerStrings/StrangerStrings.js index 7fb3629..54ef256 100644 --- a/strangerStrings/StrangerStrings.js +++ b/strangerStrings/StrangerStrings.js @@ -1,36 +1,60 @@ -class StrangerStrings { - - getHelloWorld(){ - return null; - } - - concatenation(firstSegment, secondSegment){ - return null; - } - - getPrefix(input){ - return null; - } - - getSuffix(input){ - return null; - } - - getMiddleCharacter(input){ - return null; - } - - getFirstWord(input){ - return null; - } - - getSecondWord(spaceDelimnatedInput){ - return null; - } - - reverse(input){ - return null; - } -} - +class StrangerStrings { + getHelloWorld(){ + return "Hello World" ; + } + concatenation(firstSegment, secondSegment){ + return firstSegment + secondSegment; + } + getPrefix(input){ + return input.substring(0, 3); + } + getSuffix(input){ + //return input.substring(input.length-3, input.length); + // Find the last leter of the word. + let firstLetter= input.charAt(input.length-3); + // find the 2nd to last letter; + let secondLetter= input.charAt(input.length-2); + // find the 3rd to last letter + let thirdLetter= input.charAt(input.length-1); + // combine letters + let answer= firstLetter + secondLetter + thirdLetter; + return answer; + } + getMiddleCharacter(inputValue){ + var position; + var length; + if(inputValue.length % 2 == 0) { + position = inputValue.length / 2 - 1; + length = 2; + } else { + position = (inputValue.length - 1)/ 2; + length = 1; + + + } + return inputValue.substring(position, position + length) + } + getFirstWord(input){ + var firstWord = input.substr(0, input.indexOf(" ")); + return firstWord; + + } + + + + getSecondWord(input){ + var secondWord = input.split(" "); + return secondWord[1]; + +} + + reverse(input){ + var newString = ""; + for (var i = input.length - 1; i >= 0; i--) { + newString += input[i]; + } + return newString; + } + } + module.exports = StrangerStrings; \ No newline at end of file diff --git a/strangerStrings/StrangerStrings.test.js b/strangerStrings/StrangerStrings.test.js index 59da8fa..256958a 100644 --- a/strangerStrings/StrangerStrings.test.js +++ b/strangerStrings/StrangerStrings.test.js @@ -1,115 +1,118 @@ -const { TestScheduler } = require('jest'); -const StrangerStrings = require('./StrangerStrings'); - - -test("Hello World Test", () => { - // Given - let strangerStrings = new StrangerStrings(); - let expected = "Hello World"; - - - // When - let actual = strangerStrings.getHelloWorld(); - //Then - expect(actual).toEqual(expected); -}); - -test("return the concatenation of `firstSegment`, and , `secondSegment`", () => { - // Given - let strangerStrings = new StrangerStrings(); - let firstSegment = 'Wutang'; - let secondSegment = ' Forever'; - - let expected = "Wutang Forever"; - - - // When - let actual = strangerStrings.concatenation(firstSegment, secondSegment); - //Then - expect(actual).toEqual(expected); -}); - -test("return the first 3 characters of `input`", () => { - // Given - let strangerStrings = new StrangerStrings(); - let input = 'Wutang'; - - let expected = "Wut"; - - - // When - let actual = strangerStrings.getPrefix(input); - //Then - expect(actual).toEqual(expected); -}); - -test("return the last 3 characters of `input`", () => { - // Given - let strangerStrings = new StrangerStrings(); - let input = 'Wutang'; - - let expected = "ang"; - - - // When - let actual = strangerStrings.getSuffix(input); - //Then - expect(actual).toEqual(expected); -}); - - -test("return the middle character of `inputValue`", () => { - // Given - let strangerStrings = new StrangerStrings(); - let inputValue = 'MethodMan'; - - let expected = "o"; - - - // When - let actual = strangerStrings.getMiddleCharacter(input); - //Then - expect(actual).toEqual(expected); -}); - -test("return the first sequence of characters", () => { - // Given - let strangerStrings = new StrangerStrings(); - let inputValue = 'Wutang Clan'; - - let expected = "Wutang"; - - - // When - let actual = strangerStrings.getFirstWord(inputValue); - //Then - expect(actual).toEqual(expected); -}); - -test("return the second sequence of characters", () => { - // Given - let strangerStrings = new StrangerStrings(); - let inputValue = 'Wutang Clan'; - - let expected = "Clan"; - - - // When - let actual = strangerStrings.getSecondWord(inputValue); - //Then - expect(actual).toEqual(expected); -}); - -test("return the reverse of input", () => { - // Given - let strangerStrings = new StrangerStrings(); - let inputValue = 'WutangClan'; - - let expected = "nalCgnatuW"; - - - // When - let actual = strangerStrings.reverse(inputValue); - //Then - expect(actual).toEqual(expected); +const { TestScheduler } = require('jest'); +const StrangerStrings = require('./StrangerStrings'); + + +test("Hello World Test", () => { + // Given + let strangerStrings = new StrangerStrings(); + let expected = "Hello World"; + + + // When + let actual = strangerStrings.getHelloWorld(); + //Then + expect(actual).toEqual(expected); +}); + +test("return the concatenation of `firstSegment`, and , `secondSegment`", () => { + // Given + let strangerStrings = new StrangerStrings(); + let firstSegment = 'Wutang'; + let secondSegment = ' Forever'; + + let expected = "Wutang Forever"; + + + // When + let actual = strangerStrings.concatenation(firstSegment, secondSegment); + //Then + expect(actual).toEqual(expected); +}); + +test("return the first 3 characters of `input`", () => { + // Given + let strangerStrings = new StrangerStrings(); + let input = 'Wutang'; + + let expected = "Wut"; + + + // When + let actual = strangerStrings.getPrefix(input); + //Then + expect(actual).toEqual(expected); +}); + +test("return the last 3 characters of `input`", () => { + // Given + let strangerStrings = new StrangerStrings(); + let input = 'Wutang'; + + let expected = "ang"; + + + // When + let actual = strangerStrings.getSuffix(input); + //Then + expect(actual).toEqual(expected); +}); + + +test("return the middle character of `inputValue`", () => { + // Given + let strangerStrings = new StrangerStrings(); + let inputValue = 'MethodMan'; + + let expected = "o"; + + + // When + let actual = strangerStrings.getMiddleCharacter(inputValue); + //Then + expect(actual).toEqual(expected); +}); + + + + +test("return the first sequence of characters", () => { + // Given + let strangerStrings = new StrangerStrings(); + let inputValue = 'Wutang Clan'; + + let expected = "Wutang"; + + + // When + let actual = strangerStrings.getFirstWord(inputValue); + //Then + expect(actual).toEqual(expected); +}); + +test("return the second sequence of characters", () => { + // Given + let strangerStrings = new StrangerStrings(); + let inputValue = 'Wutang Clan'; + + let expected = "Clan"; + + + // When + let actual = strangerStrings.getSecondWord(inputValue); + //Then + expect(actual).toEqual(expected); +}); + +test("return the reverse of input", () => { + // Given + let strangerStrings = new StrangerStrings(); + let inputValue = 'WutangClan'; + + let expected = "nalCgnatuW"; + + + // When + let actual = strangerStrings.reverse(inputValue); + //Then + expect(actual).toEqual(expected); }); \ No newline at end of file