using REG_MARK_LIB; namespace UnitTests { /// /// Класс тестов низкой сложности /// public class TestsOfLowDifficult { // Тест функции GetNextMarkAfter, проверка на изменение числа в составе номера [Fact] public void TestGetNextMarkAfterWithCorrectData() { Assert.Equal("T357CK42", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfter("T356CK42")); } // Тест функции GetNextMarkAfter, проверка на изменение первой буквы в составе номера [Fact] public void TestGetNextMarkAfterWithCorrectDataOnFirstLetter() { Assert.Equal("Y001OK52", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfter("T999OK52")); } // Тест функции CheckMark, с правильным номером [Fact] public void TestMarkWithCorrectDataCheck() { Assert.True(REG_MARK_LIB.REG_MARK_LIB.CheckMark("a999aa99")); } // Тест функции GetNextMarkAfterInRange, при изначальном номере не входящем в диапазон (больше) [Fact] public void TestGetNextMarkAfterInRangeWithIncorrectDataBiggerThanEnd() { Assert.Equal("out of stock", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfterInRange("X999YX52", "A001AA52", "X999OX52")); } // Тест функции GetNextMarkAfterInRange, при некорректном диапазоне [Fact] public void TestGetNextMarkAfterInRangeWithIncorrectDataIncorrectBounds() { Assert.Equal("out of stock", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfterInRange("X999YX52", "X999OX52", "A001AA52")); } // Тест функции CheckMark, с неправильным номером [Fact] public void TestMarkWithIncorrectDataCheckOnSecondNumber() { Assert.False(REG_MARK_LIB.REG_MARK_LIB.CheckMark("a999aa999")); } // Тест функции GetNextMarkAfter, проверка на изменение третей буквы в составе номера [Fact] public void TestGetNextMarkAfterWithCorrectDataOnThirdLetter() { Assert.Equal("A001OM42", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfter("X999OK42")); } // Тест функции GetNextMarkAfterInRange, при изначальном номере не входящем в диапазон (меньше) [Fact] public void TestGetNextMarkAfterInRangeWithIncorrectDataSmallerThanStart() { Assert.Equal("out of stock", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfterInRange("A003OM42", "X999OX52", "X999XX52")); } // Тест функции GetCombinationsCountInRange, с обычными данными [Fact] public void TestGetCombinationsCountInRangeWithCorrectData() { Assert.Equal(2, REG_MARK_LIB.REG_MARK_LIB.GetCombinationsCountInRange("M356OK52", "M357OK52")); } // Тест функции GetCombinationsCountInRange, с перевернутыми границами [Fact] public void TestGetCombinationsCountInRangeWithCorrectDataReverse() { Assert.Equal(2, REG_MARK_LIB.REG_MARK_LIB.GetCombinationsCountInRange("M357OK52", "M356OK52")); } // Тест функции GetCombinationsCountInRange, с одинаковыми границами [Fact] public void TestGetCombinationsCountInRangeWithCorrectDataEqualsBounds() { Assert.Equal(1, REG_MARK_LIB.REG_MARK_LIB.GetCombinationsCountInRange("M356OK52", "M356OK52")); } // Тест функции GetNextMarkAfter, проверка на изменение второй буквы в составе номера [Fact] public void TestGetNextMarkAfterWithCorrectDataOnSecondLetter() { Assert.Equal("A001OM42", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfter("X999OK42")); } // Тест функции GetNextMarkAfterInRange, с корректными данными [Fact] public void TestGetNextMarkAfterInRangeWithCorrectData() { Assert.Equal("A001PA42", REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfterInRange("X999OX42", "A001AA42", "X999XX42")); } } /// /// Класс тестов высокой сложности /// public class TestsOfHighDifficult { // Тест функции CheckMark, при передаче null [Fact] public void TestCheckMarkOnNull() { Assert.Throws(() => REG_MARK_LIB.REG_MARK_LIB.CheckMark(null)); } // Тест функции GetNextMarkAfterInRange, при передаче не номера [Fact] public void TestGetNextMarkAfterInRangeOnNotMark() { Assert.Throws(() => REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfterInRange("Hello world!", "a999aa42", "a999aa42")); } // Тест функции GetNextMarkAfter, при передаче номера, для которого нет следующего номера [Fact] public void TestGetNextMarkAfterOnNotNextMark() { Assert.Throws(() => REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfter("x999xx42")); } // Тест функции GetNextMarkAfter, при передаче не номера [Fact] public void TestGetNextMarkAfterOnNotMark() { Assert.Throws(() => REG_MARK_LIB.REG_MARK_LIB.GetNextMarkAfter("Hello world!")); } // Тест функции GetCombinationsCountInRange, при передаче не номера [Fact] public void TestGetCombinationsCountInRangeOnNotMark() { Assert.Throws(() => REG_MARK_LIB.REG_MARK_LIB.GetCombinationsCountInRange("Hello world!", "a999aa42")); } } }