0 / 0 / 0
Регистрация: 11.04.2018
Сообщений: 7
1

Разработка и тестирование библиотеки алгоритмов, не могу прикрутить тест в VS12

16.01.2019, 15:53. Показов 3900. Ответов 4

Author24 — интернет-сервис помощи студентам
Стоит довольно абстрактное задание разработать и оттестировать библиотеку алгоритмов , для примера решил взять на тестирование пузырьковый алгоритм сортировки как один из самых простых. Был написан рабочий код который сортирует ранее указанным алгоритмом. При попытке прикрутить к этому коду тест в среде Visual studio 12 возникла проблема на этапе получения значения с помощью тестируемого алгоритма, выдает ошибку " Доступ к члену "ConsoleApplication6.Program.BubbleSort(int[])" через ссылку на экземпляр невозможен; вместо этого уточните его, указав имя типа".

код салгоритмом

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
namespace ConsoleApplication6
{
    public class Program
    {
       public static void Main(string[] args)
        {
            {
                Console.WriteLine("Сколько чисел будем сортировать?");
                int N = Convert.ToInt32(Console.ReadLine());// определение размера массива
                Console.WriteLine("Введите числа для сортировки:");
                int[] mas = new int[N];
                for (int i = 0; i < mas.Length; i++)
                {
                    mas[i] = Convert.ToInt32(Console.ReadLine());
                }
                BubbleSort(mas);
                Console.WriteLine("После сортировки:");
                for (int i = 0; i < mas.Length; i++)
                {
                    Console.WriteLine(mas[i]);
                }
                Console.ReadLine();
            }
        }
           public static  int[] BubbleSort(int[] mas) // алгоритм сортировки пузырьком
        {
            int temp;
            for (int i = 0; i < mas.Length; i++)
            {
                for (int j = i + 1; j < mas.Length; j++)
                {
                    if (mas[i] > mas[j])
                    {
                        temp = mas[i];
                        mas[i] = mas[j];
                        mas[j] = temp;
                    }                   
                }            
            }
            return mas;// возвращаемый массив
        }
        }
    }
код с тестом

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using ConsoleApplication6;// директива с кодом алгоритма
 
namespace UnitTestProject1
{
    [TestClass]
    public class BubbleSort1
    {
        [TestMethod]
        public void TestMethod1()
        {
            // исходные данные
            int N = 4;
            int[] mas = new int[4] { 3, 5, 4, 2 };
            int[] expected = new int[4] { 2, 3, 4, 5 };
 
            // получение значения с помощью тестируемого алгоритма
            Program g = new Program();
            int[] actual = g.BubbleSort(mas);
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2019, 15:53
Ответы с готовыми решениями:

Разработка и отладка алгоритмов и программ с использованием шаблонов классов и алгоритмов библиотеки STL
1. Создать объект-контейнер и заполнить его данными. 2. Просмотреть контейнер. 3....

Проектирование и разработка библиотеки алгоритмов
Нужно написать курсач по теме &quot;Проектирование и разработка библиотеки алгоритмов&quot;. Решил сделать...

Тестирование библиотеки
Помогите , пожалуйста протестировать DLL. Её цель - шифрование файлов алгоритмом AES(rijndael)-128....

Тест с алгоритмов
В общем тут такое дело... В фирме, где я прохожу практику мне предложили устроиться на работу. Но!...

4
1519 / 462 / 126
Регистрация: 09.01.2018
Сообщений: 1,094
16.01.2019, 16:21 2
Так он же статический этот BubbleSort
Вызывайте его так:

C#
1
int[] actual = Program.BubbleSort(mas);
1
0 / 0 / 0
Регистрация: 11.04.2018
Сообщений: 7
17.01.2019, 13:35  [ТС] 3
Спасибо, очевидные вещи не видно, но к сожалению появилась другая проблема, тест код не проходит. Не понимаю в чем дело.

Добавлено через 7 минут
Спасибо, очевидные вещи не видно, но к сожалению появилась другая проблема, тест код не проходит. Не понимаю в чем дело.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using ConsoleApplication6;
 
namespace UnitTestProject1
{
    [TestClass]
    public class BubbleSort1
    {
        [TestMethod]
        public void TestMethod1()
        {
            // исходные данные
            int[] mas = new int[4] { 4, 3, 5, 2 };
            int[] expected = new int[4] { 2, 3, 4, 5 };
 
            // получение значения с помощью тестируемого алгогритма
            int[] actual = Program.BubbleSort(mas);
            // сравнение ожидаемого результата с полученным
            Assert.AreEqual(expected, actual);
        }
    }
}
ошибка "Ошибка в Assert.AreEqual. Ожидается: <System.Int32[]>. Фактически: <System.Int32[]>.
0
1519 / 462 / 126
Регистрация: 09.01.2018
Сообщений: 1,094
17.01.2019, 14:45 4
Лучший ответ Сообщение было отмечено ITGoblin как решение

Решение

Цитата Сообщение от ITGoblin Посмотреть сообщение
к сожалению появилась другая проблема, тест код не проходит. Не понимаю в чем дело.
C#
1
2
            // сравнение ожидаемого результата с полученным
            CollectionAssert.AreEqual(expected, actual);
2
0 / 0 / 0
Регистрация: 11.04.2018
Сообщений: 7
17.01.2019, 14:52  [ТС] 5
Огромное спасибо, все работает. Я еще не разобрался в классах и методах раздела тестирования, подскажете чем класс CollectionAssert отличается от Assert. Если можно я бы хотел поблагодорить, любая работа должна оплачиваться.
0
17.01.2019, 14:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2019, 14:52
Помогаю со студенческими работами здесь

Автоматизированное тестирование и разработка ПО
Здравствуйте я из области далекой от создания ИТ проектов и меня интересует вопрос: Чем отличается...

Тестирование библиотеки. Проект или решение?
После того как написал библиотеку, то что выбирать для создания программы для тестирования данной...

Реализация алгоритмов библиотеки STL
Ребят помогите пожалуйста, как создать програмку, которая бы создавала массив 4 на 3, и заполняла...

Разработка алгоритмов с процедурами
Помогите пожалуйста решить задачу) В матрице A (3 строки, 4 столбца) поменять местами наименьшие...

Разработка циклических алгоритмов
Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n (1&lt;=n&lt;=27)....

Разработка алгоритмов и программ
Здравствуйте помогите пожалуйста решить задачку Составьте программу вычисления числа сочетаний...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru