Beispiel #1
0
        public void CloneTest()
        {
            CNumber_Integer target = new CNumber_Integer(42.0);
            CNumber_Integer copy   = (CNumber_Integer)target.Clone();

            Assert.IsTrue(target.Equals(copy));
        }
Beispiel #2
0
        public void EqualsTest()
        {
            CNumber_Integer a = new CNumber_Integer("0x1234.5678");
            CNumber_Integer b = new CNumber_Integer("0x1234.5678");

            Assert.IsTrue(a.Equals(b));
        }
Beispiel #3
0
        public void SubtractionTest()
        {
            CNumber_Integer_Accessor target = new CNumber_Integer_Accessor();
            CNumber_Integer          other  = new CNumber_Integer(0.0);

            target.FromString("0x5");
            other.FromString("0x7");
            target.Subtraction(other);
            Assert.AreEqual("-0x2", target.AsString);

            target.FromString("0x1.0000.0005");
            other.FromString("0x7");
            target.Subtraction(other);
            Assert.AreEqual("0xFFFF.FFFE", target.AsString);

            target.FromString("0x1.0000.0005");
            other.FromString("0x1.0000.0007");
            target.Subtraction(other);
            Assert.AreEqual("-0x2", target.AsString);

            target.FromString("0x7");
            other.FromString("0x1.0000.0005");
            target.Subtraction(other);
            Assert.AreEqual("-0xFFFF.FFFE", target.AsString);

            target.FromString("0x1.0000.0000.0000.0005");
            other.FromString("0x1.0000.0007");
            target.Subtraction(other);
            Assert.AreEqual("0xFFFF.FFFE.FFFF.FFFE", target.AsString);
        }
Beispiel #4
0
        public void remTest()
        {
            CNumber_Integer a = new CNumber_Integer("0x1234");
            CNumber_Integer b = new CNumber_Integer("0x12");
            CNumber_Integer c = (CNumber_Integer)a.rem(b);

            Assert.AreEqual("0x10", c.AsString);
        }
Beispiel #5
0
        public void Check_Multiplication_03()
        {
            CNumber_Integer a = new CNumber_Integer(378);
            CNumber_Integer b = (CNumber_Integer)a.mul(a);

            Assert.AreEqual(142884, b.AsInteger);
            Assert.AreEqual(3, b.size);
        }
Beispiel #6
0
        public void Check_ToString_BigValues()
        {
            CNumber_Integer a = new CNumber_Integer(0x2345678);

            Assert.AreEqual("36.984.440", a.ToString(10));
            Assert.AreEqual("0o2.1505.3170", a.ToString(8));
            Assert.AreEqual("0x234.5678", a.ToString(16));
            Assert.AreEqual("[17]190.DEE5", a.ToString(17));
        }
Beispiel #7
0
        public void ShiftRight_04()
        {
            CNumber_Integer a         = new CNumber_Integer(0xABCDEF);
            uint            underflow = a.ShiftRight(32);

            Assert.AreEqual(0, a.AsInteger);
            Assert.AreEqual(1, a.size);
            Assert.AreEqual(0xABU, underflow);
        }
Beispiel #8
0
        public void ShiftRight_02()
        {
            CNumber_Integer a         = new CNumber_Integer(0xABCD);
            uint            underflow = a.ShiftRight(4);

            Assert.AreEqual(0xABC, a.AsInteger);
            Assert.AreEqual(2, a.size);
            Assert.AreEqual(0xDU, underflow);
        }
Beispiel #9
0
        public void ShiftRight_01()
        {
            CNumber_Integer a         = new CNumber_Integer(0xAB);
            uint            underflow = a.ShiftRight(4);

            Assert.AreEqual(0xA, a.AsInteger);
            Assert.AreEqual(1, a.size);
            Assert.AreEqual(0xBU, underflow);
        }
Beispiel #10
0
        public void AsIntegerTest()
        {
            CNumber_Integer a = new CNumber_Integer(1.0);

            Assert.AreEqual(a.AsInteger, 1);
            CNumber_Integer b = new CNumber_Integer(-1.0);

            Assert.AreEqual(b.AsInteger, -1);
        }
Beispiel #11
0
        public void ShiftLeft_01()
        {
            CNumber_Integer a        = new CNumber_Integer(0xAB);
            uint            overflow = a.ShiftLeft(4);

            Assert.AreEqual(0xAB0, a.AsInteger);
            Assert.AreEqual(2, a.size);
            Assert.AreEqual(0xAU, overflow);
        }
Beispiel #12
0
        public void IsZeroTest()
        {
            CNumber_Integer zero = new CNumber_Integer(0.0);

            Assert.IsTrue(zero.IsZero);
            CNumber_Integer one = new CNumber_Integer(1.0);

            Assert.IsFalse(one.IsZero);
        }
Beispiel #13
0
        public void DivideTest2()
        {
            CNumber_Integer_Accessor a   = new CNumber_Integer_Accessor("0x1234");
            CNumber_Integer          b   = new CNumber_Integer("0x12");
            CNumber_Integer          rem = a.Divide(b);

            Assert.AreEqual("0x102", a.AsString);
            Assert.AreEqual("0x10", rem.AsString);
        }
Beispiel #14
0
        public void ShiftLeft_03()
        {
            CNumber_Integer a        = new CNumber_Integer(0xABCD);
            uint            overflow = a.ShiftLeft(12);

            Assert.AreEqual(0xABCD000, a.AsInteger);
            Assert.AreEqual(4, a.size);
            Assert.AreEqual(0xAU, overflow);
        }
Beispiel #15
0
        public void Check_ToString_SmallValues()
        {
            CNumber_Integer a = new CNumber_Integer(42);

            Assert.AreEqual("42", a.ToString(10));
            Assert.AreEqual("0b10.1010", a.ToString(2));
            Assert.AreEqual("0o52", a.ToString(8));
            Assert.AreEqual("0x2A", a.ToString(16));
            Assert.AreEqual("[17]28", a.ToString(17));
        }
Beispiel #16
0
        public void IsNegativeTest()
        {
            CNumber_Integer a = new CNumber_Integer(1.0);

            Assert.IsFalse(a.IsNegative);

            CNumber_Integer b = new CNumber_Integer(-1.0);

            Assert.IsTrue(b.IsNegative);
        }
Beispiel #17
0
        public void Addition_03()
        {
            CNumber_Integer b = new CNumber_Integer(0xFFFF);
            CNumber_Integer a = new CNumber_Integer(0xAB);

            a.Addition(b);

            Assert.AreEqual(0x100AA, a.AsInteger);
            Assert.AreEqual(3, a.size);
        }
Beispiel #18
0
        public void negTest()
        {
            CNumber_Integer target   = new CNumber_Integer(0.0); // TODO: Passenden Wert initialisieren
            CNumber         expected = null;                     // TODO: Passenden Wert initialisieren
            CNumber         actual;

            actual = target.neg();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Überprüfen Sie die Richtigkeit dieser Testmethode.");
        }
Beispiel #19
0
        public void Check_Size()
        {
            CNumber_Integer a = new CNumber_Integer(42);

            Assert.AreEqual(1, a.size);

            CNumber_Integer b = new CNumber_Integer(0x400000000000);

            Assert.AreEqual(6, b.size);
        }
Beispiel #20
0
        public void Check_Multiplication_02()
        {
            CNumber_Integer three = new CNumber_Integer(3);

            CNumber_Integer a = new CNumber_Integer(126);
            CNumber_Integer b = (CNumber_Integer)a.mul(three);

            Assert.AreEqual(378, b.AsInteger);
            Assert.AreEqual(2, b.size);
        }
Beispiel #21
0
        public void mulTest()
        {
            CNumber_Integer target = new CNumber_Integer("0x7FFF.FFFF");
            CNumber_Integer two    = new CNumber_Integer("0x2");

            target = (CNumber_Integer)target.mul(two);
            Assert.AreEqual("0xFFFF.FFFE", target.AsString);

            target = (CNumber_Integer)target.mul(two);
            Assert.AreEqual("0x1.FFFF.FFFC", target.AsString);
        }
Beispiel #22
0
        public void Check_ToString_64bit()
        {
            long            c = 0x40000000000;
            CNumber_Integer a = new CNumber_Integer(c);

            Assert.AreEqual(0x40000000000, c);

            Assert.AreEqual("4.398.046.511.104", a.ToString(10));
            Assert.AreEqual("0o100.0000.0000.0000", a.ToString(8));
            Assert.AreEqual("0x400.0000.0000", a.ToString(16));
            Assert.AreEqual("[17]231.818D.67B4", a.ToString(17));
        }
Beispiel #23
0
        public void AdditionTest()
        {
            CNumber_Integer_Accessor target = new CNumber_Integer_Accessor();
            CNumber_Integer          other  = new CNumber_Integer(0.0);

            target.FromString("0x5");
            other.FromString("0x7");
            target.Addition(other);
            Assert.AreEqual("0xC", target.AsString);

            target.FromString("0xFFFFFFFE");
            other.FromString("0x7");
            target.Addition(other);
            Assert.AreEqual("0x1.0000.0005", target.AsString);

            target.FromString("0xFFFFFFFE");
            other.FromString("0x100000007");
            target.Addition(other);
            Assert.AreEqual("0x2.0000.0005", target.AsString);

            target.FromString("0x1FFFFFFFE");
            other.FromString("0x100000007");
            target.Addition(other);
            Assert.AreEqual("0x3.0000.0005", target.AsString);

            target.FromString("0xFFFFFFFFFFFFFFFE");
            other.FromString("0x7");
            target.Addition(other);
            Assert.AreEqual("0x1.0000.0000.0000.0005", target.AsString);

            target.FromString("0x1.FFFF.FFFF.FFFF.FFFE");
            other.FromString("0x7");
            target.Addition(other);
            Assert.AreEqual("0x2.0000.0000.0000.0005", target.AsString);

            target.FromString("0x7");
            other.FromString("0x1.FFFF.FFFF.FFFF.FFFE");
            target.Addition(other);
            Assert.AreEqual("0x2.0000.0000.0000.0005", target.AsString);

            target.FromString("0x1.FFFF.FFFF.FFFF.FFFE");
            other.FromString("0x1.0000.0007");
            target.Addition(other);
            Assert.AreEqual("0x2.0000.0001.0000.0005", target.AsString);

            target.FromString("0x1.FFFF.FFFE.FFFF.FFFE");
            other.FromString("0x1.0000.0007");
            target.Addition(other);
            Assert.AreEqual("0x2.0000.0000.0000.0005", target.AsString);
        }
Beispiel #24
0
        public void Addition_01()
        {
            CNumber_Integer a = new CNumber_Integer(0xAB);
            CNumber_Integer b = new CNumber_Integer(0xCD);

            a.Addition(b);

            // check the paratemer for const
            Assert.AreEqual(0xCD, b.AsInteger);
            Assert.AreEqual(1, b.size);

            // now check the result
            Assert.AreEqual(0x178, a.AsInteger);
            Assert.AreEqual(2, a.size);
        }
Beispiel #25
0
        public void Check_Multiplication_01()
        {
            CNumber_Integer three = new CNumber_Integer(3);

            CNumber_Integer a = new CNumber_Integer(42);
            CNumber_Integer b = (CNumber_Integer)a.mul(three);

            // check if the operdands are unchanged
            Assert.AreEqual(42, a.AsInteger);
            Assert.AreEqual(3, three.AsInteger);

            // check the result
            Assert.AreEqual(126, b.AsInteger);
            Assert.AreEqual(1, b.size);
        }