diff --git a/basicMath/MathUtilities.js b/basicMath/MathUtilities.js index 705dd88..6f2ee1c 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..4a096ee 100644 --- a/basicMath/MathUtilities.test.js +++ b/basicMath/MathUtilities.test.js @@ -1,104 +1,86 @@ -const { TestScheduler } = require('jest'); const MathUtilities = require('./MathUtilities'); - test("Test 1 Integer Addition", () => { // Given let math = new MathUtilities(); let baseValue = 16384; let addedValue = 7; - // When let expected = 16391; let actual = math.add(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - test("Test 2 Integer Addition", () => { // Given let math = new MathUtilities(); let baseValue = 63; let addedValue = 64; - // When let expected = 127; let actual = math.add(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - test("Test 1 Integer Subtraction", () => { // Given let math = new MathUtilities(); let baseValue = 20; let addedValue = 7; - // When let expected = 13; let actual = math.subtract(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - test("Test 2 Integer Subtraction", () => { // Given let math = new MathUtilities(); let baseValue = 16384; let addedValue = 16383; - // When let expected = 1; let actual = math.subtract(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - - test("Test 1 Integer Division", () => { // Given let math = new MathUtilities(); let baseValue = 20; let addedValue = 2; - // When let expected = 10; let actual = math.divide(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - test("Test 2 Integer Division", () => { // Given let math = new MathUtilities(); let baseValue = 2; let addedValue = 1; - // When - let expected = 127; + let expected = 2; let actual = math.divide(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - test("Test 1 Integer Multiplication", () => { // Given let math = new MathUtilities(); let baseValue = 5; let addedValue = 2; - // When let expected = 10; let actual = math.multiply(baseValue, addedValue); //Then expect(actual).toEqual(expected); }); - test("Test 2 Integer Multiplication", () => { // Given let math = new MathUtilities(); let baseValue = 20; let addedValue = 1000; - // When let expected = 20000; let actual = math.multiply(baseValue, addedValue); diff --git a/readme.md b/readme.md index 29bd7a6..98e55ed 100644 --- a/readme.md +++ b/readme.md @@ -9,7 +9,7 @@ npm install -g jest Then run ``` -npm install +npm installnpm ``` To run all the test cases diff --git a/strangerStrings/StrangerStrings.js b/strangerStrings/StrangerStrings.js index 7fb3629..9eeb1b9 100644 --- a/strangerStrings/StrangerStrings.js +++ b/strangerStrings/StrangerStrings.js @@ -1,36 +1,67 @@ class StrangerStrings { - getHelloWorld(){ - return null; - } - + let helloWorld = "Hello World"; + return helloWorld; +} concatenation(firstSegment, secondSegment){ - return null; + return firstSegment + " " + secondSegment; } - getPrefix(input){ - return null; + let firstLetter = input[0] + let secondLetter = input[1] + let thirdLetter = input[2] + return firstLetter + secondLetter + thirdLetter; } - getSuffix(input){ - return null; + // get the 3rd to last letter. + let thirdToLastLetter = input[input.length - 3]; + // get the 2nd letter. + let secondToLastLetter = input[input.length - 2]; + // get the last letter. + let lastLetter = input[input.length - 1]; + return thirdToLastLetter + secondToLastLetter + lastLetter; + } - getMiddleCharacter(input){ - return null; + //get input length + let inputLength = input.length; + //divide length by two to cut in half. Math.floor to round down since string is an odd number. + let middle = Math.floor(inputLength / 2); + //return middle of input value. + if (inputLength % 2 == 0){ + // if even + return input[middle -1] + input[middle]; + } else { + return input[middle]; + } } - - getFirstWord(input){ - return null; + getFirstWord(inputValue){ + // split up the string using .split(). Turns a string into an array. + let x = inputValue.split(" "); + // get the first index of the array. + let firstWord = x[0]; + // return the first word. + return firstWord; } - getSecondWord(spaceDelimnatedInput){ - return null; + getSecondWord(inputValue){ + // turn input value into a string using .split() + let x = inputValue.split(" "); + // get the second index of the array. + let secondWord = x[1]; + // return the second word. + return secondWord; } - reverse(input){ - return null; + reverse(inputValue){ + // turn input value into a string using .split() + let x = inputValue.split(""); + // reverse the array using .reverse() + let strToArray = x.reverse(); + // turn the array back to a string with .join() + let backwardArray = strToArray.join(""); + // return joined reversed string. + return backwardArray; } } - module.exports = StrangerStrings; \ No newline at end of file diff --git a/strangerStrings/StrangerStrings.test.js b/strangerStrings/StrangerStrings.test.js index 59da8fa..769eece 100644 --- a/strangerStrings/StrangerStrings.test.js +++ b/strangerStrings/StrangerStrings.test.js @@ -1,113 +1,80 @@ -const { TestScheduler } = require('jest'); +//const { TestScheduler } = require('jest'); const StrangerStrings = require('./StrangerStrings'); - - -test("Hello World Test", () => { +test("Hello World Test",() => { // Given let strangerStrings = new StrangerStrings(); - let expected = "Hello World"; - - + let expected = 'Hello World'; // When let actual = strangerStrings.getHelloWorld(); //Then expect(actual).toEqual(expected); }); - -test("return the concatenation of `firstSegment`, and , `secondSegment`", () => { +test('return the concatenation of `firstSegment`, and , `secondSegment`', () => { // Given let strangerStrings = new StrangerStrings(); let firstSegment = 'Wutang'; - let secondSegment = ' Forever'; - - let expected = "Wutang Forever"; - - + 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`", () => { +test('return the first 3 characters of `input`', () => { // Given let strangerStrings = new StrangerStrings(); let input = 'Wutang'; - - let expected = "Wut"; - - + let expected = 'Wut'; // When let actual = strangerStrings.getPrefix(input); //Then expect(actual).toEqual(expected); }); - -test("return the last 3 characters of `input`", () => { +test('return the last 3 characters of `input`', () => { // Given let strangerStrings = new StrangerStrings(); let input = 'Wutang'; - - let expected = "ang"; - - + let expected = 'ang'; // When let actual = strangerStrings.getSuffix(input); //Then expect(actual).toEqual(expected); }); - - -test("return the middle character of `inputValue`", () => { +test("return the middle character of `input`", () => { // Given let strangerStrings = new StrangerStrings(); - let inputValue = 'MethodMan'; - - let expected = "o"; - - + let input = 'MethodMan'; + let expected = 'o'; // When let actual = strangerStrings.getMiddleCharacter(input); //Then expect(actual).toEqual(expected); }); - -test("return the first sequence of characters", () => { +test('return the first sequence of characters', () => { // Given let strangerStrings = new StrangerStrings(); let inputValue = 'Wutang Clan'; - - let expected = "Wutang"; - - + let expected = 'Wutang'; // When let actual = strangerStrings.getFirstWord(inputValue); //Then expect(actual).toEqual(expected); }); - -test("return the second sequence of characters", () => { +test('return the second sequence of characters', () => { // Given let strangerStrings = new StrangerStrings(); let inputValue = 'Wutang Clan'; - - let expected = "Clan"; - - + let expected = 'Clan'; // When let actual = strangerStrings.getSecondWord(inputValue); //Then expect(actual).toEqual(expected); }); - -test("return the reverse of input", () => { +test('return the reverse of input', () => { // Given let strangerStrings = new StrangerStrings(); let inputValue = 'WutangClan'; - - let expected = "nalCgnatuW"; - - + let expected = 'nalCgnatuW'; // When let actual = strangerStrings.reverse(inputValue); //Then