using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using WSUniversalLib;
namespace UnitTestProject1
{
[TestClass]
public class UnitTest1
{
#region Простые тесты
///
/// Проверка возвращаемого значения метода на соотвествие эталонному №1
///
[TestMethod]
public void CheakOnEqualEthalonNumber_1()
{
Assert.AreEqual(114147, Calculation.GetQuantityForProduct(3, 1, 15, 20, 45));
}
///
/// Проверка возвращаемого значения метода на соотвествие эталонному №2
///
[TestMethod]
public void CheakOnEqualEthalonNumber_2()
{
Assert.AreEqual(101464, Calculation.GetQuantityForProduct(3, 1, 15, 20, 40));
}
///
/// Проверка возвращаемого значения метода на соотвествие эталонному №3
///
[TestMethod]
public void CheakOnEqualEthalonNumber_3()
{
Assert.AreEqual(88781, Calculation.GetQuantityForProduct(3, 1, 15, 20, 35));
}
///
/// Проверка возвращаемого значения метода на соотвествие эталонному №4
///
[TestMethod]
public void CheakOnEqualEthalonNumber_4()
{
Assert.AreEqual(75962, Calculation.GetQuantityForProduct(3, 2, 15, 20, 30));
}
///
/// Проверка возвращаемого значения метода на соотвествие эталонному №5
///
[TestMethod]
public void CheakOnEqualEthalonNumber_5()
{
Assert.AreEqual(14868, Calculation.GetQuantityForProduct(1, 2, 15, 20, 45));
}
///
/// Проверка возвращаемого значения метода на соотвествие эталонному №6
///
[TestMethod]
public void CheakOnEqualEthalonNumber_6()
{
Assert.AreEqual(33791, Calculation.GetQuantityForProduct(2, 2, 15, 20, 45));
}
///
/// Проверка возвращаемого функцией значение на неравенство нулю
///
[TestMethod]
public void CheakOnNotNullResult()
{
Assert.IsNotNull(Calculation.GetQuantityForProduct(3, 1, 15, 20, 45));
}
///
/// Проверка возвращаемого функцией значение на соответсвие int типу
///
[TestMethod]
public void CheakOnIsInstanceOfTypeInt()
{
Assert.IsInstanceOfType(Calculation.GetQuantityForProduct(3, 1, 15, 20, 45), typeof(int));
}
///
/// Проверка на возврат функцией -1 при неправильном типе продукта
///
[TestMethod]
public void CheakOnIsTrueEqualEthalonNumber_1()
{
Assert.IsTrue(Calculation.GetQuantityForProduct(4, 1, 15, 20, 45) == -1);
}
///
/// Проверка на возврат функцией -1 при неправильном типе материала
///
[TestMethod]
public void CheakOnIsTrueEqualEthalonNumber_2()
{
Assert.IsTrue(Calculation.GetQuantityForProduct(3, 3, 15, 20, 40) == -1);
}
#endregion
#region Сложные тесты
///
/// Проверка исключения при количестве меньше 0
///
[TestMethod]
public void CheakOnArgumentExceptionWhenCountSmallerThen0()
{
Assert.ThrowsException(() => Calculation.GetQuantityForProduct(3, 3, -1, 20, 40));
}
///
/// Проверка исключения при ширине меньше 0
///
[TestMethod]
public void CheakOnArgumentExceptionWhenWidthSmallerThen0()
{
Assert.ThrowsException(() => Calculation.GetQuantityForProduct(3, 3, 2, -4, 40));
}
///
/// Проверка исключения при длинне меньше 0
///
[TestMethod]
public void CheakOnArgumentExceptionWhenLenghSmallerThen0()
{
Assert.ThrowsException(() => Calculation.GetQuantityForProduct(3, 3, 2, 20, -40));
}
#endregion
}
}