public void TestEqualityOperators() { var value1 = new MinMaxConstraints <int>(20, 80); // Проверяем равенство одинаковых значений. var value2 = new MinMaxConstraints <int>(20, 80); Assert.IsTrue(value1 == value2); Assert.IsFalse(value1 != value2); // Проверяем неравенство значений, с совпадающей верхней границей. value2 = new MinMaxConstraints <int>(5, 80); Assert.IsFalse(value1 == value2); Assert.IsTrue(value1 != value2); // Проверяем неравенство значений, с совпадающей нижней границей. value2 = new MinMaxConstraints <int>(20, 105); Assert.IsFalse(value1 == value2); Assert.IsTrue(value1 != value2); // Проверяем неравенство значений всех границ. value2 = new MinMaxConstraints <int>(35, 67); Assert.IsFalse(value1 == value2); Assert.IsTrue(value1 != value2); }
public void TestEquals() { object value1 = new MinMaxConstraints <int>(30, 60); // Проверяем равенство одинаковых значений. var value2 = new MinMaxConstraints <int>(30, 60); Assert.IsTrue(value1.Equals(value2)); Assert.IsTrue(value1.GetHashCode() == value2.GetHashCode()); // Проверяем неравенство значений, с совпадающей верхней границей. value2 = new MinMaxConstraints <int>(5, 60); Assert.IsFalse(value1.Equals(value2)); Assert.IsFalse(value1.GetHashCode() == value2.GetHashCode()); // Проверяем неравенство значений, с совпадающей нижней границей. value2 = new MinMaxConstraints <int>(30, 105); Assert.IsFalse(value1.Equals(value2)); Assert.IsFalse(value1.GetHashCode() == value2.GetHashCode()); // Проверяем неравенство значений всех границ. value2 = new MinMaxConstraints <int>(37, 54); Assert.IsFalse(value1.Equals(value2)); Assert.IsFalse(value1.GetHashCode() == value2.GetHashCode()); }
public void CtorAssignsMinMax() { const int Min = 10; const int Max = 100; var minMax = new MinMaxConstraints <int>(Min, Max); Assert.AreEqual(Min, minMax.Min); Assert.AreEqual(Max, minMax.Max); }
public void ApplyAppliesConstraints() { var minMax = new MinMaxConstraints <int>(10, 100); const int Smaller = 5; const int Greater = 105; const int Fits1 = 11; const int Fits2 = 99; Assert.AreEqual(minMax.Max, minMax.Apply(Greater)); Assert.AreEqual(minMax.Min, minMax.Apply(Smaller)); Assert.AreEqual(Fits1, minMax.Apply(Fits1)); Assert.AreEqual(Fits2, minMax.Apply(Fits2)); }
public void TestIEquatable() { IEquatable <MinMaxConstraints <int> > value1 = new MinMaxConstraints <int>(10, 100); // Проверяем равенство одинаковых значений. var value2 = new MinMaxConstraints <int>(10, 100); Assert.IsTrue(value1.Equals(value2)); // Проверяем неравенство значений, с совпадающей верхней границей. value2 = new MinMaxConstraints <int>(5, 100); Assert.IsFalse(value1.Equals(value2)); // Проверяем неравенство значений, с совпадающей нижней границей. value2 = new MinMaxConstraints <int>(10, 105); Assert.IsFalse(value1.Equals(value2)); // Проверяем неравенство значений всех границ. value2 = new MinMaxConstraints <int>(25, 48); Assert.IsFalse(value1.Equals(value2)); }
public void ApplyUsesSpecifiedComparer() { var minMax = new MinMaxConstraints <int>(10, 100); const int Smaller = 5; const int Greater = 105; var comparer = Substitute.For <Comparer <int> >(); // Настраиваем Comparer так, что Greater считается числом, меньшим Max. comparer.Compare(Arg.Is(Greater), Arg.Is(minMax.Max)).Returns(-1); comparer.Compare(Arg.Is(minMax.Max), Arg.Is(Greater)).Returns(1); Assert.AreEqual(Greater, minMax.Apply(Greater, comparer)); comparer.Received().Compare(Arg.Any <int>(), Arg.Any <int>()); comparer.ClearReceivedCalls(); // Настраиваем Comparer так, что Smaller считается числом, большим Min. comparer.Compare(Arg.Is(Smaller), Arg.Is(minMax.Min)).Returns(1); comparer.Compare(Arg.Is(minMax.Min), Arg.Is(Smaller)).Returns(-1); Assert.AreEqual(Smaller, minMax.Apply(Smaller, comparer)); comparer.Received().Compare(Arg.Any <int>(), Arg.Any <int>()); }