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); }
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}."); } } }
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}."); } }