diff --git a/foundations/06_repeatString/repeatString.spec.js b/foundations/06_repeatString/repeatString.spec.js index 4e8e0586c91..b998de6f1a2 100644 --- a/foundations/06_repeatString/repeatString.spec.js +++ b/foundations/06_repeatString/repeatString.spec.js @@ -13,6 +13,12 @@ describe('repeatString', () => { test.skip('repeats the string 0 times', () => { expect(repeatString('bye', 0)).toEqual(''); }); + test.skip('handles any non-negative integer for repeat count', function () { + /* This test ensures your function is "generic", meaning the previous + tests were not completed by hardcoding values for their respective numbers */ + const number = Math.floor(Math.random() * 1000); + expect(repeatString('hey', number)).toBe('hey'.repeat(number)); + }); test.skip('does not use the built-in String repeat method', () => { /* Even though there is a built-in String repeat method, in this exercise specifically, we want you to practise using loops */ @@ -23,19 +29,6 @@ describe('repeatString', () => { test.skip('returns ERROR with negative numbers', () => { expect(repeatString('goodbye', -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 - 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); - expect(repeatString('hey', number)).toBe('hey'.repeat(number)); - }); test.skip('works with blank strings', () => { expect(repeatString('', 10)).toEqual(''); }); diff --git a/foundations/06_repeatString/solution/repeatString-solution.spec.js b/foundations/06_repeatString/solution/repeatString-solution.spec.js index 4ed8362e050..6acaa922ce6 100644 --- a/foundations/06_repeatString/solution/repeatString-solution.spec.js +++ b/foundations/06_repeatString/solution/repeatString-solution.spec.js @@ -13,6 +13,12 @@ describe('repeatString', () => { test('repeats the string 0 times', () => { expect(repeatString('bye', 0)).toEqual(''); }); + test('handles any non-negative integer for repeat count', function () { + /* This test ensures your function is "generic", meaning the previous + tests were not completed by hardcoding values for their respective numbers */ + const number = Math.floor(Math.random() * 1000); + expect(repeatString('hey', number)).toBe('hey'.repeat(number)); + }); test('does not use the built-in String repeat method', () => { /* Even though there is a built-in String repeat method, in this exercise specifically, we want you to practise using loops */ @@ -23,19 +29,6 @@ describe('repeatString', () => { test('returns ERROR with negative numbers', () => { expect(repeatString('goodbye', -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); - expect(repeatString('hey', number)).toBe('hey'.repeat(number)); - }); test('works with blank strings', () => { expect(repeatString('', 10)).toEqual(''); });