.NET 4.x Доступ к классу с Unit Test Project - C#

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

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

Задание:

1.

Создайте просто строковый калькулятор с методом int Add(string numbers).

1.1.

Метод может принимать 0,1 или 2 аргумента и возвращать их сумму. Например “” или “1” или “1,2” (для пустой строки метод должен вернуть 0).

1.2.

Начните писать тест с передачи пустой строки, потом одного аргумента и потом 2-х. Для выполнения, я создал проект

Calculator

. Там же добавил класс

MyCalculator

и реализовал функцию

int Add(string numbers)

:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Calculator
  7. {
  8. class MyCalculator
  9. {
  10. public int Add(string numbers)
  11. {
  12. if (numbers == "")
  13. return 0;
  14. char delimiter = ',';
  15. int Sum = 0;
  16. string[] subStrings = numbers.Split(delimiter);
  17. foreach (var subString in subStrings)
  18. Sum += Convert.ToInt32(subString);
  19. return Sum;
  20. }
  21. }
  22. }
После этого. Добавил в Solution проект Unit Test Project (

CalculatorTest

). В Reference установил

NUnit.framework

(так требуется в задании) и отредактировал тестовый класс (

TestCalculator

):
Листинг программы
  1. using System;
  2. using NUnit.Framework;
  3. namespace CalculatorTests
  4. {
  5. [TestFixture]
  6. public class TestCalculator
  7. {
  8. [Test]
  9. public void Add_CallMethod_ReturnsSum()
  10. {
  11. //arrange
  12. // MyCalculator calc(); <==== ERROR!
  13. // ...
  14. }
  15. }
  16. }
Так вот,

для написания

юнит-теста

метода int Add(string numbers) класса MyCalculator нужен доступ к этому классу. Как его получить?

P.S. В методичке к лабе есть пример всего процесса построение тестов. Только там основной проект был в виде .dll.

Решение задачи: «.NET 4.x Доступ к классу с Unit Test Project»

textual
Листинг программы
  1. namespace CalculatorTests
  2. {
  3.     [TestFixture]
  4.     public class TestCalculator
  5.     {
  6.         [Test]
  7.         public void Add_CallMethod_ReturnsSum()
  8.         {
  9.             //arrange
  10.              var calculator = new Calculator.MyCalculator();
  11.             // act
  12.             // ...
  13.             // assert
  14.             // ...
  15.         }
  16.     }
  17. }

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


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

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

8   голосов , оценка 4 из 5

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

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

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