Ошибка в юнит-тестах, сама программа работает корректно - C#

Узнай цену своей работы

Формулировка задачи:

Мне нужно было написать функцию, которая принимает в качестве параметра строку. Далее она должна перевернуть справа налево все слова длиной 5 и более символов из строки. Вот код программы:
Листинг программы
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System;
  4. public class Kata
  5. {
  6. public static string SpinWords(string sentence)
  7. {
  8. string[] words = sentence.Split(' ');
  9. string str = "";
  10. for (int i = 0; i < words.Length; i++ )
  11. {
  12. if (words[i].Length >= 5)
  13. {
  14. char[] s = words[i].ToCharArray();
  15. Array.Reverse(s);
  16. string s2 = new string(s);
  17. words[i] = s2;
  18. }
  19. str = str + words[i] + " ";
  20. }
  21. Console.WriteLine(str);
  22. return str;
  23. }
  24. }
Вот код тестов:
Листинг программы
  1. NUnit.Framework;
  2. using System;
  3. [TestFixture]
  4. public class Tests
  5. {
  6. [Test]
  7. public static void Test1()
  8. {
  9. Assert.AreEqual("emocleW", Kata.SpinWords("Welcome"));
  10. }
  11. [Test]
  12. public static void Test2()
  13. {
  14. Assert.AreEqual("Hey wollef sroirraw", Kata.SpinWords("Hey fellow warriors"));
  15. }
  16.  
  17. }

А вот ругань:

Test Results: Tests Test1 Log emocleW

Expected string length 7 but was 8. Strings differ at index 7.

Expected: "emocleW" But was: "emocleW " ------------------^ Completed in 0.027016ms Test2 Log Hey wollef sroirraw

Expected string length 19 but was 20. Strings differ at index 19.

Expected: "Hey wollef sroirraw" But was: "Hey wollef sroirraw " ------------------------------^ Completed in 0.000551ms При этом, не включая тесты, программа выполняет всё как надо. Подскажете, в чем ошибка?

Решение задачи: «Ошибка в юнит-тестах, сама программа работает корректно»

textual
Листинг программы
  1. str = str + words[i] + " ";

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы