Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 20.11.2009
Сообщений: 41

Модульное тестирование

14.06.2010, 12:47. Показов 2005. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как написать модульный тест самостоятельно для класса:
Code
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Graph
{
    class CalcHromeDigit
    {
        int HROME_COUNT_DIGIT = 0;
        public int CalcHrome(int CONNECT_TYPE, int VERTEX_COUNT, int[] GRAPH_COLORS)
        {
            if (CONNECT_TYPE == 1)
            {
                return VERTEX_COUNT;
            }
            else
            {
                HROME_COUNT_DIGIT = 0;
                int[] TEMP_ARRAY =  new int[20];
                Array.Clear(TEMP_ARRAY,0,20);
                for (int u = 0; u < VERTEX_COUNT; u++)
                {
                    bool TWISE_DIGIT_EXIST = false;
                    for (int o = 0; o < 20; o++)
                    {
                        if (TEMP_ARRAY[o] == GRAPH_COLORS[u])
                        {
                            TWISE_DIGIT_EXIST = true;
                            break;
                        }
                    }
                    if (!TWISE_DIGIT_EXIST)
                    {
                        TEMP_ARRAY[HROME_COUNT_DIGIT] = GRAPH_COLORS[u];
                        HROME_COUNT_DIGIT++;
                        
                    }
                }
                return HROME_COUNT_DIGIT;
            }
        }
    }
}
Нужно использовать предусловия и постусловия, а они такие:
Предусловия:
1<=VERTEX_COUNT<=15 &&
CONNECT_TYPE==1||CONNECT_TYPE==2 && GRAPH_COLORS.length≠0&&
0< GRAPH_COLORS <=15
GRAPH_COLORS -массив цветов, которые используются для окраски графа.
Постусловия:
0<HROME_COUNT_DIGIT<=15
Мне хотя бы для примера, а то сама не могу понять, как это все реализовать. Мне еще много классов так нужно протестировать, но хочу понять хотя бы один.
Вот такой тест у меня генерируется автоматически:
Code
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using Graph;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
 
namespace TestProject2
{
    
    
    /// <summary>
    ///This is a test class for CalcHromeDigitTest and is intended
    ///to contain all CalcHromeDigitTest Unit Tests
    ///</summary>
    [TestClass()]
    public class CalcHromeDigitTest
    {
 
 
        private TestContext testContextInstance;
 
        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }
 
        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion
 
 
        /// <summary>
        ///A test for CalcHromeDigit Constructor
        ///</summary>
        [TestMethod()]
        public void CalcHromeDigitConstructorTest()
        {
            CalcHromeDigit target = new CalcHromeDigit();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }
 
        /// <summary>
        ///A test for CalcHrome
        ///</summary>
        [TestMethod()]
        public void CalcHromeTest()
        {
            CalcHromeDigit target = new CalcHromeDigit(); // TODO: Initialize to an appropriate value
            int CONNECT_TYPE = 0; // TODO: Initialize to an appropriate value
            int VERTEX_COUNT = 0; // TODO: Initialize to an appropriate value
            int[] GRAPH_COLORS = null; // TODO: Initialize to an appropriate value
            int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.CalcHrome(CONNECT_TYPE, VERTEX_COUNT, GRAPH_COLORS);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
    }
}
А мне нужно переделать его,чтобы выполнялись все предусловия и постусловия. Помогите, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2010, 12:47
Ответы с готовыми решениями:

Модульное тестирование, Assert
Всем привет, есть вопрос! В модульном тесте у меня идет подряд множество Assert-ов: Assert.AreEqual(p1,p2, message); //..; ...

Модульное тестирование в Visual Studio
Помогите написать Unit тест для сортировки массива .

Модульное тестирование. Работа с файлами
Разрабатываю небольшую программу через модульное тестирование. В программе, при создании каждого экземпляра класса, создается текстовый...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2010, 12:47
Помогаю со студенческими работами здесь

Модульное тестирование: nUnit в определенных ситуациях не хочет подгружать сборку
Начал разбираться с модульным тестированием и столкнулся с неприятными и непонятными моментами - nUnit в определенных ситуациях не хочет...

Модульное приложение и plugins
Везде информация только на каких то простых и тривиальных примерах. Хотелось бы пойти дальше и не как... есть обычное приложение ВинФорм....

Модульное приложение с расширяющимся функционалом
Здравствуйте. Стоит задача написать модульное приложение. Допустим существует некоторая форма, на которой расположены различные кнопки,...

Модульное тестирование
Здравствуйте! Решил посмотреть, что же такое эти юнит-тесты. Написал простенький метод сложения двух чисел private int GetNum(int a,...

Модульное тестирование для массива
Здравствуйте! Помогите создать юнит-тест для кода - все перепробовала... Рандомный массив, реализующий произведение ненулевых элементов...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru