public void SizeTest() { var dataObjectValue = new DataObjectValue(); var sizeOfDataObjectValue = Marshal.SizeOf(dataObjectValue); Assert.AreEqual(8 + IntPtr.Size, sizeOfDataObjectValue); }
public void BooleanValuesCastTest() { var testedTrueValue = new DataObjectValue(true); AssertCast(testedTrueValue, true, 1, 1.0f, "True"); var testedFalseValue = new DataObjectValue(false); AssertCast(testedFalseValue, false, 0, 0.0f, "False"); }
public void DefalutValuesCastTest() { var testedValue1 = default(DataObjectValue); AssertCast(testedValue1, false, 0, 0f, null); var testedValue2 = new DataObjectValue(); AssertCast(testedValue2, false, 0, 0f, null); }
public void IntValuesCastTest() { var testedValue1 = DataObjectValue.Zero; AssertCast(testedValue1, false, 0, 0.0f, "0"); var testedValue2 = new DataObjectValue(-1); AssertCast(testedValue2, false, -1, -1.0f, "-1"); var testedValue3 = new DataObjectValue(1); AssertCast(testedValue3, true, 1, 1f, "1"); var testedValue4 = new DataObjectValue(5); AssertCast(testedValue4, true, 5, 5f, "5"); }
public void SingleValuesCastTest() { var testedValue1 = new DataObjectValue(0f); AssertCast(testedValue1, false, 0, 0.0f, "0"); var testedValue2 = new DataObjectValue(-1f); AssertCast(testedValue2, false, -1, -1.0f, "-1"); var testedValue3 = new DataObjectValue(1f); AssertCast(testedValue3, true, 1, 1f, "1"); var testedValue4 = new DataObjectValue(5f); AssertCast(testedValue4, true, 5, 5f, "5"); var testedValue5 = new DataObjectValue(0.1f); AssertCast(testedValue5, false, 0, 0.1f, "0.1"); var testedValue6 = new DataObjectValue(0.6f); AssertCast(testedValue6, false, 0, 0.6f, "0.6"); var testedValue7 = new DataObjectValue(4.6f); AssertCast(testedValue7, true, 4, 4.6f, "4.6"); }
private void AssertCast(DataObjectValue value, Int32 expectedValue) { var testedValue = (Int32)value; Assert.IsTrue(testedValue == expectedValue, $"Value '{value.ToString()}' not equals to expected {nameof(Int32)} value '{expectedValue}'"); }
private void AssertExpectedValueConsistenscy(DataObjectValue expectedBooleanValue, DataObjectValue expectedIntegerValue, DataObjectValue expectedFloatValue, DataObjectValue expectedStringValue) { DataObjectValueEqualityTests.AssertAreEqual(expectedBooleanValue, expectedIntegerValue, skipHashCheck: true); DataObjectValueEqualityTests.AssertAreEqual(expectedBooleanValue, expectedFloatValue, skipHashCheck: true); DataObjectValueEqualityTests.AssertAreEqual(expectedBooleanValue, expectedStringValue, skipHashCheck: true); DataObjectValueEqualityTests.AssertAreEqual(expectedIntegerValue, expectedBooleanValue, skipHashCheck: true); //DataObjectValueEqualityTests.AssertAreEqual(expectedIntegerValue, expectedFloatValue, skipHashCheck: true); //DataObjectValueEqualityTests.AssertAreEqual(expectedIntegerValue, expectedStringValue, skipHashCheck: true); DataObjectValueEqualityTests.AssertAreEqual(expectedFloatValue, expectedBooleanValue, skipHashCheck: true); //DataObjectValueEqualityTests.AssertAreEqual(expectedFloatValue, expectedIntegerValue, skipHashCheck: true); //DataObjectValueEqualityTests.AssertAreEqual(expectedFloatValue, expectedStringValue, skipHashCheck: true); DataObjectValueEqualityTests.AssertAreEqual(expectedStringValue, expectedBooleanValue, skipHashCheck: true); //DataObjectValueEqualityTests.AssertAreEqual(expectedStringValue, expectedIntegerValue, skipHashCheck: true); //DataObjectValueEqualityTests.AssertAreEqual(expectedStringValue, expectedFloatValue, skipHashCheck: true); }
private void AssertCast(DataObjectValue value, Boolean expectedBooleanValue, Int32 expectedIntegerValue, Single expectedFloatValue, String expectedStringValue) { AssertExpectedValueConsistenscy(expectedBooleanValue, expectedIntegerValue, expectedFloatValue, expectedStringValue); AssertCast(value, expectedBooleanValue); AssertCast(value, expectedIntegerValue); AssertCast(value, expectedFloatValue); AssertCast(value, expectedStringValue); }
private void AssertCast(DataObjectValue value, String expectedValue) { var testedValue = (String)value; //var toStringValue = value.ToString(); //Assert.IsTrue(testedValue == toStringValue, $"Different result of '{nameof(String.ToString)}' method result and explict cast to '{nameof(String)}'"); Assert.IsTrue(testedValue == expectedValue, $"Value '{value.ToString()}' not equals to expected {nameof(String)} value '{expectedValue}'"); }
private static void AssertAreNotEqual(DataObjectValue value1, DataObjectValue value2, Boolean skipHashCheck = false) { // Hash check var value1Hash = value1.GetHashCode(); var value2Hash = value2.GetHashCode(); if (!skipHashCheck) Assert.IsTrue(value1Hash != value2Hash, $"Same hash codes for '{value1.ToString()}' and '{value2.ToString()}'"); // Equality operator check var areEqualOperatorForward = value1 != value2; var areEqualOperatorBackward = value2 != value1; Assert.IsTrue(areEqualOperatorForward, $"Value '{value1.ToString()}'(1) equals to value '{value2.ToString()}'(2)"); Assert.IsTrue(areEqualOperatorBackward, $"Value '{value2.ToString()}'(2) equals to value '{value1.ToString()}'(1)"); // DataObjectValue.Equals(DataObjectValue) check var areEqualForward = value1.Equals(value2); var areEqualBackward = value2.Equals(value1); Assert.IsFalse(areEqualForward, $"Value '{value1.ToString()}'(1) equals to value '{value2.ToString()}'(2)"); Assert.IsFalse(areEqualBackward, $"Value '{value2.ToString()}'(2) equals to value '{value1.ToString()}'(1)"); // Object.Equals(Object) override check var areEqualToObjectForward = value1.Equals((Object)value2); var areEqialToObjectBackward = value2.Equals((Object)value1); Assert.IsFalse(areEqualToObjectForward, $"Value '{value1.ToString()}'(1) equals to object '{value2.ToString()}'(2)"); Assert.IsFalse(areEqialToObjectBackward, $"Value '{value2.ToString()}'(2) equals to object '{value1.ToString()}'(1)"); }
private static void AssertAdd(DataObjectValue a, DataObjectValue b, DataObjectValue expected) { var add1 = a.Add(b); //var add2 = b.Add(a); Assert.IsTrue(add1 == expected, $"'{a.ToString()}'.Add('{b.ToString()}') returns '{add1.ToString()}' | expected: '{expected.ToString()}'"); //Assert.IsTrue(add2 == expected, $"'{b.ToString()}'.Add('{a.ToString()}') returns '{add2.ToString()}' | expected: '{expected.ToString()}'"); var sum1 = a + b; //var sum2 = b + a; Assert.IsTrue(sum1 == expected, $"'{a.ToString()}'+'{b.ToString()}'='{sum1.ToString()}' | expected: '{expected.ToString()}'"); //Assert.IsTrue(sum2 == expected, $"'{b.ToString()}'+'{a.ToString()}'='{sum2.ToString()}' | expected: '{expected.ToString()}'"); }
private static void AssertComparison(DataObjectValue value1, DataObjectValue value2, Int32 expectedComparionResult) { var forwardComparison = value1.CompareTo(value2); Assert.IsTrue(forwardComparison == expectedComparionResult, $"Comparison result of '{value1.ToString()}' and '{value2.ToString()}' is not '{expectedComparionResult}'. Actual value is '{forwardComparison}'"); var backwardComparison = value2.CompareTo(value1); var backwardExpectedResult = -1 * expectedComparionResult; Assert.IsTrue(backwardComparison == backwardExpectedResult, $"Comparison result of '{value2.ToString()}' and '{value1.ToString()}' is not '{backwardExpectedResult}'. Actual value is '{backwardComparison}'"); }