public void GetHashCodeTest() { //Arrange var frac1 = new Fraction(0.5); var frac2 = new Fraction(1, 2); var frac3 = Fraction.Parse("-1/2"); //Act Fraction frac2_alt = (Fraction)frac2.Clone(); frac2_alt.Numerator += 1; //Assert Assert.AreEqual(frac1.GetHashCode(), frac2.GetHashCode()); Assert.AreNotEqual(frac1.GetHashCode(), frac3.GetHashCode()); Assert.AreNotEqual(frac2.GetHashCode(), frac2_alt.GetHashCode()); }
public void CompareToTest() { //Arrange Fraction a = new Fraction(2, 5); Fraction a_str = new Fraction(20, 50); Fraction b = new Fraction(1, 2); Fraction c = b.Clone() as Fraction; c.Numerator *= 2; c.Denominator *= 2; Fraction d = -(b.Clone() as Fraction); //Act var result1 = b.CompareTo(a); var result2 = c.CompareTo(b); var result3 = d.CompareTo(a); var result4 = a.CompareTo(a_str); //Assert Assert.AreEqual(1, result1); Assert.AreEqual(0, result2); Assert.AreEqual(-1, result3); Assert.AreEqual(0, result4); }
public void EqualsTest() { //Arrange Fraction x = new Fraction(6, 8); Fraction y = new Fraction(3, 4); Fraction z = new Fraction(1, 1); z.Numerator = 12; z.Denominator = 16; Fraction a = new Fraction(-12, 16); object k = x.Clone(); object m = z.Clone(); object notFrac = new Double(); notFrac = 5; Fraction l = null; //Assert Assert.IsTrue(x.Equals(x)); //Рефлексивность Assert.AreEqual(x.Equals(y), y.Equals(x)); //Симметричность Assert.AreEqual(y.Equals(z), x.Equals(z)); //Транзитивность Assert.IsFalse(k.Equals(a)); Assert.IsFalse(k.Equals(null)); Assert.IsFalse(k.Equals(notFrac)); Assert.IsTrue(k.Equals(m)); Assert.IsFalse(k.Equals(l)); Assert.IsTrue(y.Equals(k)); Assert.IsFalse(z.Equals(null)); }
public void CloneFractionTest() { //Arrange ulong numerator = 123; ulong denominatior = 456; Fraction srcFraction = new Fraction(numerator, denominatior); Fraction expectedFraction = new Fraction(numerator, denominatior); //Act Fraction dstFraction = srcFraction.Clone() as Fraction; //Assert Assert.AreEqual(expectedFraction.Numerator, dstFraction.Numerator); Assert.AreEqual(expectedFraction.Denominator, dstFraction.Denominator); Assert.AreEqual(expectedFraction.IsNegative, dstFraction.IsNegative); }