public void SubtractTest() { FieldZq Zq = FieldZq.CreateFieldZq(new byte[] { 0x05 }); FieldZqElement two = Zq.GetElement(2); FieldZqElement three = Zq.GetElement(3); FieldZqElement four = Zq.GetElement(4); Assert.AreEqual <FieldZqElement>(four, four - Zq.Zero, "4-0=4"); Assert.AreEqual <FieldZqElement>(three, four - Zq.One, "4-1=3"); Assert.AreEqual <FieldZqElement>(two, four - two, "4-2=2"); Assert.AreEqual <FieldZqElement>(Zq.One, four - three, "4-3=1"); Assert.AreEqual <FieldZqElement>(Zq.Zero, four - four, "4-4=0"); Assert.AreEqual <FieldZqElement>(three, two - four, "2-4=3"); Assert.AreEqual <FieldZqElement>(four, two - three, "2-3=4"); Assert.AreEqual <FieldZqElement>(two, two.Subtract(Zq.Zero), "2-0=2"); Assert.AreEqual <FieldZqElement>(Zq.One, two.Subtract(Zq.One), "2-1=1"); Assert.AreEqual <FieldZqElement>(Zq.Zero, two.Subtract(two), "2-2=0"); Assert.AreEqual <FieldZqElement>(four, two.Subtract(three), "2-3=4"); Assert.AreEqual <FieldZqElement>(three, two.Subtract(four), "2-4=3"); }