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

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

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

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

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

. Но не проходит. Что исправить надо?
 [TestMethod]
        public void ErrX2()
        {
           string[] str2 = { "Вот", "так" };
            string str3 = "Вот так";
            char[] chrs2 = { ' ' };
            Assert.AreEqual(str2, SepText.MySplit(str3, chrs2));
        }
  public static class SepText
    {
        public static string[] MySplit(string str, char[] splitChars)
        {
            var _result = new string[0]; //Массив строк, который будет содержать результат.
            int _lastInd = 0; 
            for (int i = 0; i < str.Length; i++) 
            {
                if (IsContains(str[i], splitChars)) 
                {
                    CreateNewString(str, ref _result, _lastInd, i); 
                    _lastInd = i + 1; 
                }
            }
            CreateNewString(str, ref _result, _lastInd, str.Length); 
            return _result; //Вернуть результат.
        }
 
        //Проверяет, есть ли заданный символ в списке символов-разделителей
        public static bool IsContains(char searchChar, char[] chars)
        {
            bool _isFound = false; //Переменная, отвечающая за то, есть ли символ в этом списке или нет.
            foreach (var _curCh in chars) //Перебираем разделители
            {
                if (searchChar == _curCh) 
                {
                    _isFound = true; 
                    break; 
                }
            }
            return _isFound; //Возвращаем результат.
        }
//Функция, которая добавляет новую строку в _result, вырезанную из строки str начиная с символа _lastInd до i
  public static void CreateNewString(string str, ref string[] _result, int _lastInd, int i)
        {
            var _newStr = str.Substring(_lastInd, i - _lastInd); 
            if (_newStr.Length > 0) 
            {
                var _resInd = _result.Length; //Выясняем текущее количество результатов.
 
                Array.Resize<string>(ref _result, _resInd + 1);
                _result[_resInd] = _newStr; 
            }
        }
        }

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

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

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


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

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

6   голосов , оценка 3.833 из 5
Похожие ответы