diff --git a/01_helloWorld/helloWorld.js b/01_helloWorld/helloWorld.js index df27036..f12e9b2 100644 --- a/01_helloWorld/helloWorld.js +++ b/01_helloWorld/helloWorld.js @@ -1,5 +1,5 @@ -const helloWorld = function() { - return '' +const helloWorld = function () { + return 'Hello, World!'; }; module.exports = helloWorld; diff --git a/02_repeatString/repeatString.js b/02_repeatString/repeatString.js index 4359bbe..4746d6c 100644 --- a/02_repeatString/repeatString.js +++ b/02_repeatString/repeatString.js @@ -1,5 +1,11 @@ -const repeatString = function() { +const repeatString = function (string, num) { + if (num < 0) return 'ERROR'; + let phrase = ''; + for (let i = 0; i < num; i++) { + phrase += string; + } + return phrase; }; // Do not edit below this line diff --git a/02_repeatString/repeatString.spec.js b/02_repeatString/repeatString.spec.js index 912ac20..ec5893d 100644 --- a/02_repeatString/repeatString.spec.js +++ b/02_repeatString/repeatString.spec.js @@ -1,37 +1,37 @@ -const repeatString = require('./repeatString') +const repeatString = require('./repeatString'); describe('repeatString', () => { - test('repeats the string', () => { - expect(repeatString('hey', 3)).toEqual('heyheyhey'); - }); - test.skip('repeats the string many times', () => { - expect(repeatString('hey', 10)).toEqual('heyheyheyheyheyheyheyheyheyhey'); - }); - test.skip('repeats the string 1 times', () => { - expect(repeatString('hey', 1)).toEqual('hey'); - }); - test.skip('repeats the string 0 times', () => { - expect(repeatString('hey', 0)).toEqual(''); - }); - test.skip('returns ERROR with negative numbers', () => { - expect(repeatString('hey', -1)).toEqual('ERROR'); - }); - test.skip('repeats the string a random amount of times', function () { - /*The number is generated by using Math.random to get a value from between + test('repeats the string', () => { + expect(repeatString('hey', 3)).toEqual('heyheyhey'); + }); + test('repeats the string many times', () => { + expect(repeatString('hey', 10)).toEqual('heyheyheyheyheyheyheyheyheyhey'); + }); + test('repeats the string 1 times', () => { + expect(repeatString('hey', 1)).toEqual('hey'); + }); + test('repeats the string 0 times', () => { + expect(repeatString('hey', 0)).toEqual(''); + }); + test('returns ERROR with negative numbers', () => { + expect(repeatString('hey', -1)).toEqual('ERROR'); + }); + test('repeats the string a random amount of times', function () { + /*The number is generated by using Math.random to get a value from between 0 to 1, when this is multiplied by 1000 and rounded down with Math.floor it equals a number between 0 to 999 (this number will change everytime you run the test).*/ - // DO NOT use Math.floor(Math.random() * 1000) in your code, - // this test generates a random number, then passes it into your code with a function parameter. - // If this doesn't make sense, you should go read about functions here: https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/fundamentals-part-3 - const number = Math.floor(Math.random() * 1000) - /*The .match(/((hey))/g).length is a regex that will count the number of heys + // DO NOT use Math.floor(Math.random() * 1000) in your code, + // this test generates a random number, then passes it into your code with a function parameter. + // If this doesn't make sense, you should go read about functions here: https://www.theodinproject.com/paths/foundations/courses/foundations/lessons/fundamentals-part-3 + const number = Math.floor(Math.random() * 1000); + /*The .match(/((hey))/g).length is a regex that will count the number of heys in the result, which if your function works correctly will equal the number that was randomly generated. */ - expect(repeatString('hey', number).match(/((hey))/g).length).toEqual(number); - }); - test.skip('works with blank strings', () => { - expect(repeatString('', 10)).toEqual(''); - }); + expect(repeatString('hey', number).match(/((hey))/g).length).toEqual(number); + }); + test('works with blank strings', () => { + expect(repeatString('', 10)).toEqual(''); + }); });