예제 #1
0
        public void AndArray_NewArray()
        {
            BitValue[] inputA   = BitValueTest.GetInputs();
            BitValue[] inputB   = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.Zero,
                BitValue.One,
                BitValue.Error,
                BitValue.Error
            };

            var actual = new BitValue[4];

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

            BitValueTest.ValidateArraysEqual(actual, expected);
        }
예제 #2
0
        public void And_IgnoreFloating()
        {
            BitValue[] inputA = BitValueTest.GetInputs();
            BitValue[] inputB = BitValueTest.GetInputs();
            BitValue[,] expected =
            {
                {
                    BitValue.Zero,
                    BitValue.Zero,
                    BitValue.Zero,
                    BitValue.Error
                },
                {
                    BitValue.Zero,
                    BitValue.One,
                    BitValue.One,
                    BitValue.Error
                },
                {
                    BitValue.Zero,
                    BitValue.One,
                    BitValue.Floating,
                    BitValue.Error
                },
                {
                    BitValue.Error,
                    BitValue.Error,
                    BitValue.Error,
                    BitValue.Error
                }
            };

            for (var i = 0; i < inputA.Length; i++)
            {
                for (var j = 0; j < inputB.Length; j++)
                {
                    BitValue actual = inputA[i].And(inputB[j], true);
                    Assert.Validate.AreEqual(
                        actual,
                        expected[i, j],
                        $"Operation failed at index {i},{j}.");
                }
            }
        }
예제 #3
0
        public void Invert()
        {
            BitValue[] input    = BitValueTest.GetInputs();
            BitValue[] expected =
            {
                BitValue.One,
                BitValue.Zero,
                BitValue.Floating,
                BitValue.Error
            };

            for (var i = 0; i < input.Length; i++)
            {
                BitValue actual = input[i].Invert();
                Assert.Validate.AreEqual(
                    actual,
                    expected[i],
                    $"Operation failed at index {i}.");
            }
        }