Esempio n. 1
0
        public void TestCompareTo()
        {
            var left  = new DigitInt(7);
            var right = new DigitInt(5);

            Assert.IsFalse(left < right, $"{left} < {right}");

            left  = new DigitInt(7);
            right = new DigitInt(5);
            Assert.IsTrue(left > right, $"{left} > {right}");

            left  = new DigitInt(-10);
            right = new DigitInt(5);
            Assert.IsTrue(left < right, $"{left} < {right}");

            left  = new DigitInt(-10);
            right = new DigitInt(5);
            Assert.IsFalse(left > right, $"{left} > {right}");

            left  = new DigitInt(-7);
            right = new DigitInt(-5);
            Assert.IsTrue(left < right, $"{left} < {right}");

            left  = new DigitInt(-7);
            right = new DigitInt(-5);
            Assert.IsFalse(left > right, $"{left} > {right}");
        }
Esempio n. 2
0
        void TestAddHelper(int leftSummand, int rightSummand)
        {
            var left  = new DigitInt(leftSummand);
            var right = new DigitInt(rightSummand);
            var sum   = new DigitInt(leftSummand + rightSummand);

            Assert.AreEqual(sum, left + right, $"{leftSummand} + {rightSummand}");
        }
Esempio n. 3
0
        public void TestDigitProductHelper(int value, int digitProduct)
        {
            var digitVal        = new DigitInt(value);
            var expectedProduct = new DigitInt(digitProduct);
            var actualProduct   = digitVal.DigitProduct();

            Assert.AreEqual(expectedProduct, actualProduct, $"DigitProduct ({value})");
        }
Esempio n. 4
0
        public void TestDigitSumHelper(int value, int digitSum)
        {
            var digitVal    = new DigitInt(value);
            var expectedSum = new DigitInt(digitSum);
            var actualSum   = digitVal.DigitSum();

            Assert.AreEqual(expectedSum, actualSum, $"DigitSum ({value})");
        }
Esempio n. 5
0
        public void TestMultHelper(int leftFactor, int rightFactor)
        {
            var left    = new DigitInt(leftFactor);
            var right   = new DigitInt(rightFactor);
            var product = new DigitInt(leftFactor * rightFactor);

            Assert.AreEqual(product, left * right, $"{leftFactor * rightFactor}");
        }
Esempio n. 6
0
        void TestSubHelper(int minuend, int subtrahend)
        {
            var left  = new DigitInt(minuend);
            var right = new DigitInt(subtrahend);
            var dif   = new DigitInt(minuend - subtrahend);

            Assert.AreEqual(dif, left - right, $"{left} - {right}");
        }
Esempio n. 7
0
        public void TestLength()
        {
            var num = new DigitInt(new byte[] { 1 });

            Assert.AreEqual(1, num.Length);

            num = new DigitInt(new byte[] { 1, 2 });
            Assert.AreEqual(2, num.Length);
        }
Esempio n. 8
0
        public void TestToString()
        {
            var num = new DigitInt(123);

            Assert.AreEqual("123", num.ToString());

            num = new DigitInt(2623, 16);
            Assert.AreEqual("A3F", num.ToString());
        }
Esempio n. 9
0
        public void TestShiftRightHelper(int value, int shifts, int expected)
        {
            var digitInt = new DigitInt(value);
            var exp      = new DigitInt(expected);
            var actual   = digitInt >> shifts;

            Assert.AreEqual(exp, actual, $"{value} >> {shifts}");
            Assert.AreEqual(exp.Length, actual.Length, $"Length of ({value} >> {shifts})");
        }
Esempio n. 10
0
        public void TestDivHelper(int dividend, int divisor)
        {
            var left     = new DigitInt(dividend);
            var right    = new DigitInt(divisor);
            var quotient = new DigitInt(dividend / divisor);
            var modus    = new DigitInt(dividend % divisor);

            Assert.AreEqual(quotient, left / right, $"{left / right}");
            Assert.AreEqual(modus, left % right, $"{left % right}");
        }
Esempio n. 11
0
        public void TestCustructorEquality()
        {
            var num1 = new DigitInt(new byte[] { 0 });
            var num2 = new DigitInt(0);

            Assert.AreEqual(num1, num2, "0 not created equally");

            num1 = new DigitInt(new byte[] { 3, 2, 1 });
            num2 = new DigitInt(123);
            Assert.AreEqual(num1, num2, $"123 not created equally: {num1} | {num2}");
        }
Esempio n. 12
0
        public void TestProduct()
        {
            var values = new DigitInt[]
            {
                new DigitInt(13),
                new DigitInt(2),
                new DigitInt(1114),
                new DigitInt(1),
                new DigitInt(6),
                new DigitInt(99)
            };

            Assert.AreEqual(new DigitInt(17204616), DigitInt.Product(values));
        }
Esempio n. 13
0
        public void TestSum()
        {
            var values = new DigitInt[]
            {
                new DigitInt(13),
                new DigitInt(2),
                new DigitInt(1114),
                new DigitInt(0),
                new DigitInt(6),
                new DigitInt(99)
            };

            Assert.AreEqual(new DigitInt(1234), DigitInt.Sum(values));
        }
Esempio n. 14
0
        public void TestRadixHelper(int value, int radix, string str)
        {
            var digitValue = new DigitInt(value, radix);

            Assert.AreEqual(str, digitValue.ToString(), $"({value})_{radix}");
        }