public void ToStringReturnsFloatingNumberAsString() { var value = (float)new Random().NextDouble(); var actual = new FloatNumberMatrixData(value); AssertFloatsAreEqual(value, actual.InternalValue); }
public void MultiplyByAddDivideThrowNotImplementedExceptionIfParameterIsNull() { var randomFloat = new FloatNumberMatrixData((float)new Random().NextDouble()); Assert.Throws <NotImplementedException>(() => { randomFloat.MultiplyBy(null); }); Assert.Throws <NotImplementedException>(() => { randomFloat.Add(null); }); Assert.Throws <NotImplementedException>(() => { randomFloat.Divide(null); }); }
/// <summary> /// Add float to current UnsafeRGBMatrixData instance /// </summary> /// <param name="floatData"></param> /// <returns>Addition result</returns> private UnsafeRGBMatrixData AddFloat(UnsafeRGBMatrixData current, FloatNumberMatrixData floatData) { var floatDataRaw = floatData.InternalValue; var red = current.Red + floatDataRaw; var green = current.Green + floatDataRaw; var blue = current.Blue + floatDataRaw; return(new UnsafeRGBMatrixData((int)red, (int)green, (int)blue)); }
public void RawValueIsEqualToInternalValue() { var zeroFloatingNumber = new FloatNumberMatrixData(); AssertFloatsAreEqual(zeroFloatingNumber.InternalValue, (float)zeroFloatingNumber.RawValue); var randomFloatingNumber = (float)new Random().NextDouble(); var randomNumberFloatingNumber = new FloatNumberMatrixData(randomFloatingNumber); AssertFloatsAreEqual(randomFloatingNumber, (float)randomNumberFloatingNumber.RawValue); }
public void InternalValueRepresentingCorrectNumber() { var zeroFloatingNumber = new FloatNumberMatrixData(); AssertFloatsAreEqual(0f, zeroFloatingNumber.InternalValue); var randomFloatingNumber = (float)new Random().NextDouble(); var randomNumberFloatingNumber = new FloatNumberMatrixData(randomFloatingNumber); AssertFloatsAreEqual(randomFloatingNumber, randomNumberFloatingNumber.InternalValue); }
public void ReturningRGBMatrixDataWithColorChannelsDividedByFloatIfParameterIsFloatMatrixDataType() { var randomColor = Utils.GetRandomColor(out var randomRed, out var randomGreen, out var randomBlue); var randomFloat = new FloatNumberMatrixData(1f + (float)new Random().NextDouble()); var actual = (UnsafeRGBMatrixData)randomColor.Divide(randomFloat); Assert.AreEqual((int)Math.Round(randomRed / randomFloat.InternalValue), actual.Red); Assert.AreEqual((int)Math.Round(randomGreen / randomFloat.InternalValue), actual.Green); Assert.AreEqual((int)Math.Round(randomBlue / randomFloat.InternalValue), actual.Blue); }
public void ReturningCorrectResultWhenAddWithFloatNumberMatrixData() { var random = new Random(); var randomNumber = (float)random.NextDouble(); var secondRandomNumber = (float)random.NextDouble(); var first = new FloatNumberMatrixData(randomNumber); var second = new FloatNumberMatrixData(secondRandomNumber); var additionResult = first.Add(second); AssertFloatsAreEqual(randomNumber + secondRandomNumber, (float)additionResult.RawValue); }
public void ReturningCorrectResultWhenMultiplyByWithFloatNumberMatrixData() { var random = new Random(); var randomNumber = (float)random.NextDouble(); var secondRandomNumber = (float)random.NextDouble(); var first = new FloatNumberMatrixData(randomNumber); var second = new FloatNumberMatrixData(secondRandomNumber); var multiplicationResult = first.MultiplyBy(second); AssertFloatsAreEqual(randomNumber * secondRandomNumber, (float)multiplicationResult.RawValue); }
public void ReturningCorrectResultWhenDivideWithFloatNumberMatrixData() { var random = new Random(); var randomNumber = (float)random.NextDouble() + 0.1f; var secondRandomNumber = (float)random.NextDouble() + 0.1f; var first = new FloatNumberMatrixData(randomNumber); var second = new FloatNumberMatrixData(secondRandomNumber); var divisionResult = first.Divide(second); AssertFloatsAreEqual(randomNumber / secondRandomNumber, (float)divisionResult.RawValue); }
public void ReturningFloatMatrixDataWithCorrectInternalValueWhenDividedByRGBMatrixDataType() { int red; int green; int blue; var randomColor = Utils.GetRandomColor(out red, out green, out blue); var floatMatrixData = new FloatNumberMatrixData(1f); var actual = floatMatrixData.Divide(randomColor); var expected = (red + green + blue) / 3f; expected = floatMatrixData.InternalValue / expected; AssertFloatsAreEqual(expected, (float)actual.RawValue); }