Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Задание 77/79 #335

Closed
Aleksey-Bor opened this issue Sep 10, 2020 · 3 comments
Closed

Задание 77/79 #335

Aleksey-Bor opened this issue Sep 10, 2020 · 3 comments

Comments

@Aleksey-Bor
Copy link

Мне представляется в тесте по заданию 77/79 -ошибка в тесте.

Тест не учитывает ситуацию, когда в функцию передается строка, которая начинается с большой буквы.

Например, на это решение тест возвращает следующий ответ.

Решение:

const makeItFunny = (str, nElem) => {
let strLowerCase = str.toLowerCase(); 
let rez = '';
let i = 0;

while (i < str.length) {

  if ((i + 1) % nElem === 0)  {
    rez = rez + strLowerCase[i].toUpperCase();
  } else {
    rez = rez + strLowerCase[i];
  }

  ++i;
}  

return rez;
}

Тест отвечает:

Error: expect(received).toEqual(expected) // deep equality
Expected: "I NevEr LooK bAck"
Received: "i NevEr LooK bAck"
at file:///exercises-javascript/modules/50-loops/50-mutators/test.js:5:22
at test (file:///exercises-javascript/src/tests.js:34:5)

Это принципиально неверно. Согласно условию задачи, от нас требуют написать функцию у которой каждый n-ный элемент переведен в верхний регистр. Почему верным считается возврат, у которого первый символ в верхнем регистре?

Задание

Напишите функцию makeItFunny(), которая принимает на вход строку и возвращает ее копию, у которой каждый n-ный > элемент переведен в верхний регистр. n – задается на входе в функцию.

@ashikov
Copy link
Contributor

ashikov commented Sep 11, 2020

Добрый день, Алексей!

Тест не учитывает ситуацию, когда в функцию передается строка, которая начинается с большой буквы.

Почему же? Первый тест:

const text = 'I never look back';
expect(f(text, 3)).toEqual('I NevEr LooK bAck');

Строка text начинается с буквы "I" в верхнем регистре.

В условиях задачи ничего не сказано о том, что нужно перед переводом символа в верхний регистр сначала переводить его в нижний. А функция которую вы привели как раз так и поступает, поэтому тесты и не проходят. Согласно условий какой-то из не n-ных элементов, также может быть в верхнем регистре. Если бы была необходима какая-то нормализация входящих данных, то об этом явно было бы сказано.

@Aleksey-Bor
Copy link
Author

Aleksey-Bor commented Sep 12, 2020 via email

@ashikov
Copy link
Contributor

ashikov commented Sep 14, 2020

@mokevnin Думаю, можно закрыть этот issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants