Не проходит тест - C#

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

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

Не проходит тест на соответствие. Вроде пишет, что

Результат Сообщение: Ошибка в Assert.AreEqual. Ожидается: <System.String[]>. Фактически: <System.String[]>

. Но не проходит. Что исправить надо?
Листинг программы
  1. [TestMethod]
  2. public void ErrX2()
  3. {
  4. string[] str2 = { "Вот", "так" };
  5. string str3 = "Вот так";
  6. char[] chrs2 = { ' ' };
  7. Assert.AreEqual(str2, SepText.MySplit(str3, chrs2));
  8. }
Листинг программы
  1. public static class SepText
  2. {
  3. public static string[] MySplit(string str, char[] splitChars)
  4. {
  5. var _result = new string[0]; //Массив строк, который будет содержать результат.
  6. int _lastInd = 0;
  7. for (int i = 0; i < str.Length; i++)
  8. {
  9. if (IsContains(str[i], splitChars))
  10. {
  11. CreateNewString(str, ref _result, _lastInd, i);
  12. _lastInd = i + 1;
  13. }
  14. }
  15. CreateNewString(str, ref _result, _lastInd, str.Length);
  16. return _result; //Вернуть результат.
  17. }
  18. //Проверяет, есть ли заданный символ в списке символов-разделителей
  19. public static bool IsContains(char searchChar, char[] chars)
  20. {
  21. bool _isFound = false; //Переменная, отвечающая за то, есть ли символ в этом списке или нет.
  22. foreach (var _curCh in chars) //Перебираем разделители
  23. {
  24. if (searchChar == _curCh)
  25. {
  26. _isFound = true;
  27. break;
  28. }
  29. }
  30. return _isFound; //Возвращаем результат.
  31. }
  32. //Функция, которая добавляет новую строку в _result, вырезанную из строки str начиная с символа _lastInd до i
  33. public static void CreateNewString(string str, ref string[] _result, int _lastInd, int i)
  34. {
  35. var _newStr = str.Substring(_lastInd, i - _lastInd);
  36. if (_newStr.Length > 0)
  37. {
  38. var _resInd = _result.Length; //Выясняем текущее количество результатов.
  39. Array.Resize<string>(ref _result, _resInd + 1);
  40. _result[_resInd] = _newStr;
  41. }
  42. }
  43. }

Решение задачи: «Не проходит тест»

textual
Листинг программы
  1. CollectionAssert.AreEqual(str2, SepText.MySplit(str3, chrs2));

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


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

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

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

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

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

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