public static void TestOperatorAndDiffSizes(int t1, int s1, int t2, int s2, string expected, string testOp) { // Arrange var testObj1 = new DataStructures.BitArray.BitArray(s1); var testObj2 = new DataStructures.BitArray.BitArray(s2); // Act testObj1.Compile(t1); testObj2.Compile(t2); DataStructures.BitArray.BitArray result = null; if (testOp.Equals("AND")) { result = testObj1 & testObj2; } else if (testOp.Equals("OR")) { result = testObj1 | testObj2; } else { result = testObj1 ^ testObj2; } // Assert Assert.AreEqual(expected, result.ToString()); }
public static void TestToInt64MaxValue() { // Arrange var testObj = new DataStructures.BitArray.BitArray(65); // Act // Assert _ = Assert.Throws <Exception>(() => testObj.ToInt64()); }
public static void TestConstructorThrowsErrorOnInvalidOperation() { // Arrange var testObj = new DataStructures.BitArray.BitArray(0); // Act // Assert _ = Assert.Throws <InvalidOperationException>(() => _ = testObj.Current); }
public static void TestConstructorBoolArray(bool[] sequence, int expected) { // Arrange var testObj3 = new DataStructures.BitArray.BitArray(sequence); // Act // Assert Assert.AreEqual(expected, testObj3.ToInt64()); }
public static void TestResetField(string sequence) { // Arrange var testObj = new DataStructures.BitArray.BitArray(sequence); // Act testObj.ResetField(); // Assert Assert.AreEqual(0, testObj.ToInt64()); }
public static void TestSetAll(string sequence, int expected) { // Arrange var testObj = new DataStructures.BitArray.BitArray(sequence); // Act testObj.SetAll(true); // Assert Assert.AreEqual(expected, testObj.ToInt64()); }
public static void TestCloneEquals() { // Arrange var testObj1 = new DataStructures.BitArray.BitArray("110"); // Act var testObj2 = (DataStructures.BitArray.BitArray)testObj1.Clone(); // Assert Assert.IsTrue(testObj1.Equals(testObj2)); }
public static void TestCompileToString(string sequence, string expectedSequence) { // Arrange var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(sequence); // Assert Assert.AreEqual(expectedSequence, testObj.ToString()); }
public static void CurrentThrowsException() { // Arragne var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(16); // Assert _ = Assert.Throws <InvalidOperationException>(() => _ = testObj.Current); }
public static void TestToInt64(int number, int expected) { // Arrange var testObj = new DataStructures.BitArray.BitArray(6); // Act testObj.Compile(number); // Assert Assert.AreEqual(expected, testObj.ToInt64()); }
public static void TestCompileInteger(int number, string expected) { // Arrange var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(number); // Assert Assert.AreEqual(expected, testObj.ToString()); }
public static void TestNumberOfZeroBits(int number, int expected) { // Arrange var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(number); // Assert Assert.AreEqual(expected, testObj.NumberOfZeroBits()); }
public static void TestCompareThrowsException() { // Arrange var testObj1 = new DataStructures.BitArray.BitArray("110"); var testObj2 = new DataStructures.BitArray.BitArray("10101"); // Act // Assert _ = Assert.Throws <Exception>(() => Assert.IsTrue(testObj1 == testObj2)); }
public static void TestOperatorShiftRight(int number, string expected) { // Arrange var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(number); testObj >>= 2; // Assert Assert.AreEqual(expected, testObj.ToString()); }
public static void TestParity() { // Arrange var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(26); // Assert Assert.IsFalse(testObj.EvenParity()); Assert.IsTrue(testObj.OddParity()); }
public static void TestIndexer() { // Arrange var testObj = new DataStructures.BitArray.BitArray(5); // Act testObj.Compile(24); // Assert Assert.IsTrue(testObj[0]); Assert.IsTrue(testObj[1]); Assert.IsFalse(testObj[3]); }
public static void TestCompare() { // Arrange var testObj1 = new DataStructures.BitArray.BitArray("110"); var testObj2 = new DataStructures.BitArray.BitArray("110"); var testObj3 = new DataStructures.BitArray.BitArray("100"); // Act // Assert Assert.IsTrue(testObj1 == testObj2); Assert.IsTrue(testObj1 != testObj3); }
public static void TestCompileIntegerThrowsException(int number, string expectedErrorMsg, int arrayLength) { // Arrange var testObj = new DataStructures.BitArray.BitArray(arrayLength); // Act void Act() => testObj.Compile(number); // Assert var ex = Assert.Throws <Exception>(Act); Assert.AreEqual(expectedErrorMsg, ex.Message); }
public static void TestHasCode() { // Arrange const int num = 5; var testObj = new DataStructures.BitArray.BitArray(3); // Act testObj.Compile(num); var result = testObj.GetHashCode(); // Assert Assert.NotNull(result); Assert.AreEqual(5, result); }
public static void TestCompareTo() { // Arrange var testObj1 = new DataStructures.BitArray.BitArray("110"); var testObj2 = new DataStructures.BitArray.BitArray("110"); var testObj3 = new DataStructures.BitArray.BitArray("100"); // Act // Assert Assert.AreEqual(testObj1.CompareTo(testObj3), 1); Assert.AreEqual(testObj3.CompareTo(testObj1), -1); Assert.AreEqual(testObj1.CompareTo(testObj2), 0); }
public static void TestConstructorThrowsException(string sequence) { // Arrange void CodeTest() => _ = new DataStructures.BitArray.BitArray(sequence); // Act var ex = Assert.Throws <Exception>(CodeTest); // Assert if (string.IsNullOrEmpty(sequence)) { Assert.AreEqual("BitArray: sequence must been greater or equal as 1", ex.Message); } }
public static void TestCloneNotEquals() { // Arrange var testObj1 = new DataStructures.BitArray.BitArray("101"); var testObj2 = new DataStructures.BitArray.BitArray(15); var testObj3 = new DataStructures.BitArray.BitArray(3); // Act testObj3.Reset(); // Assert _ = Assert.Throws <Exception>(() => _ = testObj1.Equals(testObj2)); Assert.IsFalse(testObj1.Equals(testObj3)); }
public static void TestCompileLongThrowsException(int number, int arrLen) { // Arrange var testObj = new DataStructures.BitArray.BitArray(arrLen); // Act void Act() => testObj.Compile((long)number); // Assert var ex = Assert.Throws <Exception>(Act); Assert.AreEqual(number < 0 ? "Compile: only positive numbers > 0" : "Compile: not apt length!", ex.Message); }
public static void TestOperatorOr(int tObj1, int tObj2, string expected) { // Arrange var testObj1 = new DataStructures.BitArray.BitArray(5); var testObj2 = new DataStructures.BitArray.BitArray(5); // Act testObj1.Compile(tObj1); testObj2.Compile(tObj2); var result = testObj1 | testObj2; // Assert Assert.AreEqual(expected, result.ToString()); }
public static void TestOperatorXor(int testNum, int testNum2, int expected) { // Arrange var testObj1 = new DataStructures.BitArray.BitArray(5); var testObj2 = new DataStructures.BitArray.BitArray(5); // Act testObj1.Compile(testNum); testObj2.Compile(testNum2); var result = testObj1 ^ testObj2; // Assert Assert.AreEqual(expected, result.ToInt32()); }
public static void TestCompileToStringThorwsException(string sequence, int arrLen) { // Arrange var testObj = new DataStructures.BitArray.BitArray(arrLen); // Act void Act() => testObj.Compile(sequence); // Assert var ex = Assert.Throws <Exception>(Act); if (sequence.Length > arrLen || sequence.Length < arrLen) { Assert.AreEqual("Compile: not equal length!", ex.Message); } }
public static void TestMoveNextCurrent() { var testObj1 = new DataStructures.BitArray.BitArray("1111010"); var counterOnes = 0; var counterZeros = 0; foreach (bool bit in testObj1) { if (bit) { counterOnes++; } else { counterZeros++; } } Assert.AreEqual(counterOnes, 5); Assert.AreEqual(counterZeros, 2); }