Make 02 tests pass

This commit is contained in:
marleyrae 2023-06-19 15:18:34 -07:00
parent da016588f4
commit e2e62e1bbb
2 changed files with 47 additions and 33 deletions

View file

@ -1,5 +1,15 @@
const repeatString = function() { const repeatString = function (string, times) {
if (times < 0) {
return 'ERROR'
}
let result = ''
for (let i = 0; i < times; i++) {
result += string
}
return result
}; };
// Do not edit below this line // Do not edit below this line

View file

@ -4,34 +4,38 @@ describe('repeatString', () => {
test('repeats the string', () => { test('repeats the string', () => {
expect(repeatString('hey', 3)).toEqual('heyheyhey'); expect(repeatString('hey', 3)).toEqual('heyheyhey');
}); });
test.skip('repeats the string many times', () => { test('repeats the string many times', () => {
expect(repeatString('hey', 10)).toEqual('heyheyheyheyheyheyheyheyheyhey'); expect(repeatString('hey', 10)).toEqual('heyheyheyheyheyheyheyheyheyhey');
}); });
test.skip('repeats the string 1 times', () => { test('repeats the string 1 times', () => {
expect(repeatString('hey', 1)).toEqual('hey'); expect(repeatString('hey', 1)).toEqual('hey');
}); });
test.skip('repeats the string 0 times', () => { test('repeats the string 0 times', () => {
expect(repeatString('hey', 0)).toEqual(''); expect(repeatString('hey', 0)).toEqual('');
}); });
test.skip('returns ERROR with negative numbers', () => { test('returns ERROR with negative numbers', () => {
expect(repeatString('hey', -1)).toEqual('ERROR'); expect(repeatString('hey', -1)).toEqual('ERROR');
}); });
test.skip('repeats the string a random amount of times', function () { // noinspection SpellCheckingInspection,GrazieInspection
/*The number is generated by using Math.random to get a value from between test('repeats the string a random amount of times', function () {
0 to 1, when this is multiplied by 1000 and rounded down with Math.floor it /*The number is generated by using Math.random to get a value from
equals a number between 0 to 999 (this number will change everytime you run between 0 and 1, when this is multiplied by 1000 and rounded down with
the test).*/ Math.floor it equals a number between 0 and 999 (this number will change
everytime you run the test).*/
// DO NOT use Math.floor(Math.random() * 1000) in your code, // 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. // this test generates a random number, then passes it into your code
// 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 // 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) const number = Math.floor(Math.random() * 1000)
/*The .match(/((hey))/g).length is a regex that will count the number of heys /*The .match(/((hey))/g).length is a regex that will count the number of
in the result, which if your function works correctly will equal the number that heys in the result, which if your function works correctly will equal
was randomly generated. */ the number that was randomly generated. */
expect(repeatString('hey', number).match(/((hey))/g).length).toEqual(number); expect(repeatString('hey', number).match(/(hey)/g).length)
.toEqual(number);
}); });
test.skip('works with blank strings', () => { test('works with blank strings', () => {
expect(repeatString('', 10)).toEqual(''); expect(repeatString('', 10)).toEqual('');
}); });
}); });