Ejemplo n.º 1
0
        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");
        }