示例#1
0
        public void InvertArray_SetA()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.One,
                BitValue.Zero,
                BitValue.Floating,
                BitValue.Error
            };

            inputA.Invert(ref inputA);

            BitValueTest.ValidateArraysEqual(inputA, expected);
        }
示例#2
0
        public void PullArray_SetAPullDown()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Zero,
                BitValue.One,
                BitValue.Zero,
                BitValue.Error
            };

            inputA.Pull(PullBehavior.PullDown, ref inputA);

            BitValueTest.ValidateArraysEqual(inputA, expected);
        }
示例#3
0
        public void NegateArray_SetA()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Error,
                BitValue.Error,
                BitValue.Error,
                BitValue.Error
            };

            bool overflow = inputA.Negate(ref inputA);

            BitValueTest.ValidateArraysEqual(inputA, expected);
            Assert.Validate.IsFalse(overflow, "Operation should not have overflowed.");
        }
示例#4
0
        public void XorArray_SetA()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] inputB   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Zero,
                BitValue.Zero,
                BitValue.Error,
                BitValue.Error
            };

            inputA.Xor(inputB, ref inputA, false);

            BitValueTest.ValidateArraysEqual(inputA, expected);
        }
示例#5
0
        public void NegateArray_NewArray()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Error,
                BitValue.Error,
                BitValue.Error,
                BitValue.Error
            };

            var  actual   = new BitValue[4];
            bool overflow = inputA.Negate(ref actual);

            BitValueTest.ValidateArraysEqual(actual, expected);
            Assert.Validate.IsFalse(overflow, "Operation should not have overflowed.");
        }
示例#6
0
        public void InvertArray_NewArray()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.One,
                BitValue.Zero,
                BitValue.Floating,
                BitValue.Error
            };

            var actual = new BitValue[4];

            inputA.Invert(ref actual);

            BitValueTest.ValidateArraysEqual(actual, expected);
        }
示例#7
0
        public void PUllArray_NewArrayUnchanged()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Zero,
                BitValue.One,
                BitValue.Floating,
                BitValue.Error
            };

            var actual = new BitValue[4];

            inputA.Pull(PullBehavior.Unchanged, ref actual);

            BitValueTest.ValidateArraysEqual(actual, expected);
        }
示例#8
0
        public void XorArray_NewArray()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] inputB   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Zero,
                BitValue.Zero,
                BitValue.Error,
                BitValue.Error
            };

            var actual = new BitValue[4];

            inputA.Xor(inputB, ref actual, false);

            BitValueTest.ValidateArraysEqual(actual, expected);
        }
示例#9
0
        public void NegateArray_NegativeOne()
        {
            BitValue[] inputA =
            {
                BitValue.One,
                BitValue.One,
                BitValue.One,
                BitValue.One
            };
            BitValue[] expected =
            {
                BitValue.One,
                BitValue.Zero,
                BitValue.Zero,
                BitValue.Zero
            };

            var  actual   = new BitValue[4];
            bool overflow = inputA.Negate(ref actual);

            BitValueTest.ValidateArraysEqual(actual, expected);
            Assert.Validate.IsFalse(overflow, "Operation should not have overflowed.");
        }
示例#10
0
        public void IncrementArray_Fifteen()
        {
            BitValue[] inputA =
            {
                BitValue.One,
                BitValue.One,
                BitValue.One,
                BitValue.One
            };
            BitValue[] expected =
            {
                BitValue.Zero,
                BitValue.Zero,
                BitValue.Zero,
                BitValue.Zero
            };

            var  actual   = new BitValue[4];
            bool overflow = inputA.Increment(ref actual);

            BitValueTest.ValidateArraysEqual(actual, expected);
            Assert.Validate.IsTrue(overflow, "Operation should have overflowed.");
        }