using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace WSUniversalLib.UnitTest
{
[TestClass]
public class UnitTest
{
///
/// Метод возвращает требуемый результат при всех правильных данных.
///
[TestMethod]
public void GetQuantityForProduct_CorrectInput()
{
Assert.AreEqual(114147, Calculation.GetQuantityForProduct(3, 1, 15, 20, 45));
}
///
/// Метод возвращает требуемый результат при неправильном типе продукции.
///
[TestMethod]
public void GetQuantityForProduct_IncorrectInputProduct()
{
Assert.AreEqual(-1, Calculation.GetQuantityForProduct(0, 1, 15, 20, 45));
}
///
/// Метод возвращает требуемый результат при неправильном типе продукции.
///
[TestMethod]
public void GetQuantityForProduct_IncorrectInputMaterial()
{
Assert.AreEqual(-1, Calculation.GetQuantityForProduct(3, 0, 15, 20, 45));
}
///
/// Проверка, что метод возвращает целочисленное значение.
///
[TestMethod]
public void GetQuantityForProduct_IsInt()
{
Assert.IsInstanceOfType(Calculation.GetQuantityForProduct(3, 1, 15, 20, 45), typeof(int));
}
///
/// Проверка, что метод округляет в большую сторону.
///
[TestMethod]
public void GetQuantityForProduct_Round()
{
Assert.IsTrue(Calculation.GetQuantityForProduct(3, 1, 15, 20, 45) > 114146.4);
}
///
/// Проверка, что вознкиает исключение, если ввести число продукции <= 0 при правильных типах.
///
[TestMethod]
public void GetQuantityForProduct_ExceptionInvalidCount()
{
Assert.ThrowsException(()=> Calculation.GetQuantityForProduct(3, 1, 0, 20, 45));
}
///
/// Проверка, что вознкиает исключение, если ввести ширину <= 0 при правильных типах.
///
[TestMethod]
public void GetQuantityForProduct_ExceptionInvalidWidth()
{
Assert.ThrowsException(()=> Calculation.GetQuantityForProduct(3, 1, 15, -20, 45));
}
///
/// Проверка, что вознкиает исключение, если ввестидлину <= 0 при правильных типах.
///
[TestMethod]
public void GetQuantityForProduct_ExceptionInvalidLength()
{
Assert.ThrowsException(()=> Calculation.GetQuantityForProduct(3, 1, 15, 20, -45));
}
///
/// Проверка, что вознкиает исключение, если ввести все параметры <= 0 при правильных типах.
///
[TestMethod]
public void GetQuantityForProduct_ExceptionInvalidParametrWithoutType()
{
Assert.ThrowsException(()=> Calculation.GetQuantityForProduct(3, 1, 0, -20, -45));
}
///
/// Проверка, что вознкиает исключение, если ввести все параметры <= 0 при неправильных типах.
///
[TestMethod]
public void GetQuantityForProduct_ExceptionWithAllInvalidParametr()
{
Assert.ThrowsException(()=> Calculation.GetQuantityForProduct(5, 6, 0, -20, -45));
}
}
}