using Microsoft.VisualStudio.TestTools.UnitTesting;
using TestSessionLib;
namespace TestProject
{
/*Говорили, что нужно 5 простых и 5 сложных тестов*/
[TestClass]
public class UnitTest
{
/*Тесты низкой сложности*/
///
/// Проверка, что метод CheckMark возвращает true при корректном номере
///
[TestMethod]
public void CheckMark_IsTrue()
{
Assert.IsTrue(REG_MARK_LIB.CheckMark("a999aa052"));
}
///
/// Проверка, что метод CheckMark возвращает данные формата boolean.
///
[TestMethod]
public void CheckMark_IsBoolean()
{
Assert.IsInstanceOfType(REG_MARK_LIB.CheckMark("a999aa052"), typeof(Boolean));
}
///
/// Проверка, что при корректных данных метод GetNextMarkAfter возвращает
/// правильный регистрационный знак.
///
[TestMethod]
public void NextMarkAfter_AreEqual()
{
Assert.AreEqual(REG_MARK_LIB.GetNextMarkAfter("a125aa052"), "a126aa052");
}
///
/// Проверка, что при корректных данных метод GetNextMarkAfterInRange возвращает
/// правильный регистрационный знак.
///
[TestMethod]
public void NextMarkAfterInRange_AreEqual()
{
Assert.AreEqual(REG_MARK_LIB.GetNextMarkAfterInRange("a125aa052", "a000aa052", "a999aa052"), "a126aa052");
}
///
/// Проверка, что при корректных данных метод GetCombinationsCountInRange возвращает
/// правильный регистрационный знак.
///
[TestMethod]
public void CombinationsCountInRange_AreEqual()
{
Assert.AreEqual(REG_MARK_LIB.GetCombinationsCountInRange("a000aa053", "a003aa053"), 4);
}
/*Тесты высокой сложности*/
///
/// Проверка, что если в методе GetNextMarkAfterInRange указать диапозон
/// регистрационных знаков в убывающем порядке, возникает исключение.
///
[TestMethod]
public void GetNextMarkAfterInRange_RangeNotOrder()
{
Assert.ThrowsException(() => REG_MARK_LIB.GetNextMarkAfterInRange("а123аа052", "a999aa052", "a000aa052"));
}
///
/// Проверка, что если в методе GetCombinationsCountInRange указать диапозон
/// регистрационных знаков в убывающем порядке, возникает исключение.
///
[TestMethod]
public void CombinationsCountInRange_RangeNotBy()
{
Assert.ThrowsException(() => REG_MARK_LIB.GetCombinationsCountInRange("a010aa799", "a003aa799"));
}
///
/// Проверка, что метод GetNextMarkAfter принимает только верные параметры.
///
[TestMethod]
public void GetNextMarkAfter_InvalidParametr()
{
Assert.ThrowsException(() => REG_MARK_LIB.GetNextMarkAfter("a999aa999"));
}
///
/// Проверка, что метод GetNextMarkAfter принимает только верные параметры.
///
[TestMethod]
public void GetNextMarkAfterInRange_InvalidParametr()
{
Assert.ThrowsException(() => REG_MARK_LIB.GetNextMarkAfterInRange("ц123цу052", "a000aa052", "a999aa052"));
}
///
/// Проверка, что метод GetNextMarkAfter принимает только верные параметры.
///
[TestMethod]
public void GetCombinationsCountInRange_InvalidParametr()
{
Assert.ThrowsException(() => REG_MARK_LIB.GetCombinationsCountInRange("12345678", "a003aa053"));
}
}
}