public void Equals_RelativeTolerance_IsImplemented() { var v = TemperatureGradient.FromKelvinsPerMeter(1); Assert.True(v.Equals(TemperatureGradient.FromKelvinsPerMeter(1), KelvinsPerMeterTolerance, ComparisonType.Relative)); Assert.False(v.Equals(TemperatureGradient.Zero, KelvinsPerMeterTolerance, ComparisonType.Relative)); }
public void DefaultCtor_ReturnsQuantityWithZeroValueAndBaseUnit() { var quantity = new TemperatureGradient(); Assert.Equal(0, quantity.Value); Assert.Equal(TemperatureGradientUnit.KelvinPerMeter, quantity.Unit); }
public void CompareToIsImplemented() { TemperatureGradient kelvinpermeter = TemperatureGradient.FromKelvinsPerMeter(1); Assert.Equal(0, kelvinpermeter.CompareTo(kelvinpermeter)); Assert.True(kelvinpermeter.CompareTo(TemperatureGradient.Zero) > 0); Assert.True(TemperatureGradient.Zero.CompareTo(kelvinpermeter) < 0); }
public void Equals_SameType_IsImplemented() { var a = TemperatureGradient.FromKelvinsPerMeter(1); var b = TemperatureGradient.FromKelvinsPerMeter(2); Assert.True(a.Equals(a)); Assert.False(a.Equals(b)); }
public void Equals_QuantityAsObject_IsImplemented() { object a = TemperatureGradient.FromKelvinsPerMeter(1); object b = TemperatureGradient.FromKelvinsPerMeter(2); Assert.True(a.Equals(a)); Assert.False(a.Equals(b)); Assert.False(a.Equals((object)null)); }
public void ConversionRoundTrip() { TemperatureGradient kelvinpermeter = TemperatureGradient.FromKelvinsPerMeter(1); AssertEx.EqualTolerance(1, TemperatureGradient.FromDegreesCelciusPerKilometer(kelvinpermeter.DegreesCelciusPerKilometer).KelvinsPerMeter, DegreesCelciusPerKilometerTolerance); AssertEx.EqualTolerance(1, TemperatureGradient.FromDegreesCelciusPerMeter(kelvinpermeter.DegreesCelciusPerMeter).KelvinsPerMeter, DegreesCelciusPerMeterTolerance); AssertEx.EqualTolerance(1, TemperatureGradient.FromDegreesFahrenheitPerFoot(kelvinpermeter.DegreesFahrenheitPerFoot).KelvinsPerMeter, DegreesFahrenheitPerFootTolerance); AssertEx.EqualTolerance(1, TemperatureGradient.FromKelvinsPerMeter(kelvinpermeter.KelvinsPerMeter).KelvinsPerMeter, KelvinsPerMeterTolerance); }
public void As() { var kelvinpermeter = TemperatureGradient.FromKelvinsPerMeter(1); AssertEx.EqualTolerance(DegreesCelciusPerKilometerInOneKelvinPerMeter, kelvinpermeter.As(TemperatureGradientUnit.DegreeCelsiusPerKilometer), DegreesCelciusPerKilometerTolerance); AssertEx.EqualTolerance(DegreesCelciusPerMeterInOneKelvinPerMeter, kelvinpermeter.As(TemperatureGradientUnit.DegreeCelsiusPerMeter), DegreesCelciusPerMeterTolerance); AssertEx.EqualTolerance(DegreesFahrenheitPerFootInOneKelvinPerMeter, kelvinpermeter.As(TemperatureGradientUnit.DegreeFahrenheitPerFoot), DegreesFahrenheitPerFootTolerance); AssertEx.EqualTolerance(KelvinsPerMeterInOneKelvinPerMeter, kelvinpermeter.As(TemperatureGradientUnit.KelvinPerMeter), KelvinsPerMeterTolerance); }
public void KelvinPerMeterToTemperatureGradientUnits() { TemperatureGradient kelvinpermeter = TemperatureGradient.FromKelvinsPerMeter(1); AssertEx.EqualTolerance(DegreesCelciusPerKilometerInOneKelvinPerMeter, kelvinpermeter.DegreesCelciusPerKilometer, DegreesCelciusPerKilometerTolerance); AssertEx.EqualTolerance(DegreesCelciusPerMeterInOneKelvinPerMeter, kelvinpermeter.DegreesCelciusPerMeter, DegreesCelciusPerMeterTolerance); AssertEx.EqualTolerance(DegreesFahrenheitPerFootInOneKelvinPerMeter, kelvinpermeter.DegreesFahrenheitPerFoot, DegreesFahrenheitPerFootTolerance); AssertEx.EqualTolerance(KelvinsPerMeterInOneKelvinPerMeter, kelvinpermeter.KelvinsPerMeter, KelvinsPerMeterTolerance); }
public void ArithmeticOperators() { TemperatureGradient v = TemperatureGradient.FromKelvinsPerMeter(1); AssertEx.EqualTolerance(-1, -v.KelvinsPerMeter, KelvinsPerMeterTolerance); AssertEx.EqualTolerance(2, (TemperatureGradient.FromKelvinsPerMeter(3) - v).KelvinsPerMeter, KelvinsPerMeterTolerance); AssertEx.EqualTolerance(2, (v + v).KelvinsPerMeter, KelvinsPerMeterTolerance); AssertEx.EqualTolerance(10, (v * 10).KelvinsPerMeter, KelvinsPerMeterTolerance); AssertEx.EqualTolerance(10, (10 * v).KelvinsPerMeter, KelvinsPerMeterTolerance); AssertEx.EqualTolerance(2, (TemperatureGradient.FromKelvinsPerMeter(10) / 5).KelvinsPerMeter, KelvinsPerMeterTolerance); AssertEx.EqualTolerance(2, TemperatureGradient.FromKelvinsPerMeter(10) / TemperatureGradient.FromKelvinsPerMeter(5), KelvinsPerMeterTolerance); }
public void ComparisonOperators() { TemperatureGradient oneKelvinPerMeter = TemperatureGradient.FromKelvinsPerMeter(1); TemperatureGradient twoKelvinsPerMeter = TemperatureGradient.FromKelvinsPerMeter(2); Assert.True(oneKelvinPerMeter < twoKelvinsPerMeter); Assert.True(oneKelvinPerMeter <= twoKelvinsPerMeter); Assert.True(twoKelvinsPerMeter > oneKelvinPerMeter); Assert.True(twoKelvinsPerMeter >= oneKelvinPerMeter); Assert.False(oneKelvinPerMeter > twoKelvinsPerMeter); Assert.False(oneKelvinPerMeter >= twoKelvinsPerMeter); Assert.False(twoKelvinsPerMeter < oneKelvinPerMeter); Assert.False(twoKelvinsPerMeter <= oneKelvinPerMeter); }
public void As_SIUnitSystem_ThrowsArgumentExceptionIfNotSupported() { var quantity = new TemperatureGradient(value: 1, unit: TemperatureGradient.BaseUnit); Func <object> AsWithSIUnitSystem = () => quantity.As(UnitSystem.SI); if (SupportsSIUnitSystem) { var value = (double)AsWithSIUnitSystem(); Assert.Equal(1, value); } else { Assert.Throws <ArgumentException>(AsWithSIUnitSystem); } }
public void TemperatureGradient_QuantityInfo_ReturnsQuantityInfoDescribingQuantity() { var quantity = new TemperatureGradient(1, TemperatureGradientUnit.KelvinPerMeter); QuantityInfo <TemperatureGradientUnit> quantityInfo = quantity.QuantityInfo; Assert.Equal(TemperatureGradient.Zero, quantityInfo.Zero); Assert.Equal("TemperatureGradient", quantityInfo.Name); Assert.Equal(QuantityType.TemperatureGradient, quantityInfo.QuantityType); var units = EnumUtils.GetEnumValues <TemperatureGradientUnit>().Except(new[] { TemperatureGradientUnit.Undefined }).ToArray(); var unitNames = units.Select(x => x.ToString()); // Obsolete members Assert.Equal(units, quantityInfo.Units); Assert.Equal(unitNames, quantityInfo.UnitNames); }
public void EqualityOperators() { var a = TemperatureGradient.FromKelvinsPerMeter(1); var b = TemperatureGradient.FromKelvinsPerMeter(2); #pragma warning disable CS8073 // ReSharper disable EqualExpressionComparison Assert.True(a == a); Assert.False(a != a); Assert.True(a != b); Assert.False(a == b); Assert.False(a == null); Assert.False(null == a); // ReSharper restore EqualExpressionComparison #pragma warning restore CS8073 }
public void From_ValueAndUnit_ReturnsQuantityWithSameValueAndUnit() { var quantity00 = TemperatureGradient.From(1, TemperatureGradientUnit.DegreeCelsiusPerKilometer); AssertEx.EqualTolerance(1, quantity00.DegreesCelciusPerKilometer, DegreesCelciusPerKilometerTolerance); Assert.Equal(TemperatureGradientUnit.DegreeCelsiusPerKilometer, quantity00.Unit); var quantity01 = TemperatureGradient.From(1, TemperatureGradientUnit.DegreeCelsiusPerMeter); AssertEx.EqualTolerance(1, quantity01.DegreesCelciusPerMeter, DegreesCelciusPerMeterTolerance); Assert.Equal(TemperatureGradientUnit.DegreeCelsiusPerMeter, quantity01.Unit); var quantity02 = TemperatureGradient.From(1, TemperatureGradientUnit.DegreeFahrenheitPerFoot); AssertEx.EqualTolerance(1, quantity02.DegreesFahrenheitPerFoot, DegreesFahrenheitPerFootTolerance); Assert.Equal(TemperatureGradientUnit.DegreeFahrenheitPerFoot, quantity02.Unit); var quantity03 = TemperatureGradient.From(1, TemperatureGradientUnit.KelvinPerMeter); AssertEx.EqualTolerance(1, quantity03.KelvinsPerMeter, KelvinsPerMeterTolerance); Assert.Equal(TemperatureGradientUnit.KelvinPerMeter, quantity03.Unit); }
public void ToUnit() { var kelvinpermeter = TemperatureGradient.FromKelvinsPerMeter(1); var degreecelsiusperkilometerQuantity = kelvinpermeter.ToUnit(TemperatureGradientUnit.DegreeCelsiusPerKilometer); AssertEx.EqualTolerance(DegreesCelciusPerKilometerInOneKelvinPerMeter, (double)degreecelsiusperkilometerQuantity.Value, DegreesCelciusPerKilometerTolerance); Assert.Equal(TemperatureGradientUnit.DegreeCelsiusPerKilometer, degreecelsiusperkilometerQuantity.Unit); var degreecelsiuspermeterQuantity = kelvinpermeter.ToUnit(TemperatureGradientUnit.DegreeCelsiusPerMeter); AssertEx.EqualTolerance(DegreesCelciusPerMeterInOneKelvinPerMeter, (double)degreecelsiuspermeterQuantity.Value, DegreesCelciusPerMeterTolerance); Assert.Equal(TemperatureGradientUnit.DegreeCelsiusPerMeter, degreecelsiuspermeterQuantity.Unit); var degreefahrenheitperfootQuantity = kelvinpermeter.ToUnit(TemperatureGradientUnit.DegreeFahrenheitPerFoot); AssertEx.EqualTolerance(DegreesFahrenheitPerFootInOneKelvinPerMeter, (double)degreefahrenheitperfootQuantity.Value, DegreesFahrenheitPerFootTolerance); Assert.Equal(TemperatureGradientUnit.DegreeFahrenheitPerFoot, degreefahrenheitperfootQuantity.Unit); var kelvinpermeterQuantity = kelvinpermeter.ToUnit(TemperatureGradientUnit.KelvinPerMeter); AssertEx.EqualTolerance(KelvinsPerMeterInOneKelvinPerMeter, (double)kelvinpermeterQuantity.Value, KelvinsPerMeterTolerance); Assert.Equal(TemperatureGradientUnit.KelvinPerMeter, kelvinpermeterQuantity.Unit); }
public void GetHashCode_Equals() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(new { TemperatureGradient.Info.Name, quantity.Value, quantity.Unit }.GetHashCode(), quantity.GetHashCode()); }
public void Convert_ChangeType_InvalidType_ThrowsInvalidCastException() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Throws <InvalidCastException>(() => Convert.ChangeType(quantity, typeof(QuantityFormatter))); }
public void Convert_ChangeType_BaseDimensions_EqualsBaseDimensions() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(TemperatureGradient.BaseDimensions, Convert.ChangeType(quantity, typeof(BaseDimensions))); }
public void Convert_ChangeType_QuantityInfo_EqualsQuantityInfo() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(TemperatureGradient.Info, Convert.ChangeType(quantity, typeof(QuantityInfo))); }
public void Convert_ChangeType_UnitType_EqualsUnit() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(quantity.Unit, Convert.ChangeType(quantity, typeof(TemperatureGradientUnit))); }
public void Convert_ChangeType_SelfType_EqualsSelf() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(quantity, Convert.ChangeType(quantity, typeof(TemperatureGradient))); }
public void Convert_ToString_EqualsToString() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(quantity.ToString(), Convert.ToString(quantity)); }
public void Convert_ToSingle_EqualsValueAsSameType() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal((float)quantity.Value, Convert.ToSingle(quantity)); }
public void Convert_ToInt16_EqualsValueAsSameType() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal((short)quantity.Value, Convert.ToInt16(quantity)); }
public void Convert_ToDecimal_EqualsValueAsSameType() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal((decimal)quantity.Value, Convert.ToDecimal(quantity)); }
public void Convert_ToDateTime_ThrowsInvalidCastException() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Throws <InvalidCastException>(() => Convert.ToDateTime(quantity)); }
public void ToString_NullArgs_ThrowsArgumentNullException() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Throws <ArgumentNullException>(() => quantity.ToString(null, "g", null)); }
public void NegationOperator_ReturnsQuantity_WithNegatedValue(double value) { var quantity = TemperatureGradient.FromKelvinsPerMeter(value); Assert.Equal(TemperatureGradient.FromKelvinsPerMeter(-value), -quantity); }
public void ToString_NullProvider_EqualsCurrentUICulture() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal(quantity.ToString(CultureInfo.CurrentUICulture, "g"), quantity.ToString(null, "g")); }
public void Convert_ToUInt64_EqualsValueAsSameType() { var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0); Assert.Equal((ulong)quantity.Value, Convert.ToUInt64(quantity)); }