using Xunit; namespace AppTesting { public class SearchMinValueTests { public class WayTests { public class Way1 { [Fact] public void SearchMinValue_Way_1() { double[]? inputData = null; var result = Program.SearchMinValue(inputData!); Assert.Null(result); } } public class Way2 { [Fact] public void SearchMinValue_Way_2() { double[] inputData = new double[0]; var result = Program.SearchMinValue(inputData); Assert.Null(result); } } public class Way3 { [Fact] public void SearchMinValue_Way_3_1() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_3_1_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_3_1_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_3_2() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_3_2_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_3_2_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_3_3() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_3_3_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_3_3_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_3_4() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_3_4_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_3_4_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_3_5() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_3_5_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_3_5_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } } public class Way4 { [Fact] public void SearchMinValue_Way_4_1() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_4_1_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_4_1_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_4_2() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_4_2_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_4_2_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_4_3() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_4_3_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_4_3_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_4_4() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_4_4_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_4_4_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_4_5() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_4_5_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_4_5_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } } public class Way5 { [Fact] public void SearchMinValue_Way_5_1() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_5_1_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_5_1_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_5_2() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_5_2_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_5_2_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_5_3() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_5_3_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_5_3_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_5_4() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_5_4_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_5_4_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_Way_5_5() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_way_5_5_minValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_way_5_5_minValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } } } public class EquivalenceClassTests { // Тесты областей эквивалентности для SearchMinValue [Fact] public void SearchMinValue_EquivalenceClass_MinBoundary() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_eq_min_1_MinValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_eq_min_1_MinValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_EquivalenceClass_Negative() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_eq_neg_inside_1_MinValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_eq_neg_inside_1_MinValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_EquivalenceClass_Zero() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_eq_zero_1_MinValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_eq_zero_1_MinValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_EquivalenceClass_Positive() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_eq_pos_inside_1_MinValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_eq_pos_inside_1_MinValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } [Fact] public void SearchMinValue_EquivalenceClass_MaxBoundary() { double[] inputData = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "input_eq_max_1_MinValue.txt")); var expected = Program.ReadData(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestData", "expected_eq_max_1_MinValue.txt"))[0]; var result = Program.SearchMinValue(inputData); Assert.Equal(expected, result); } } } }