Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public void DefaultCtor_ReturnsQuantityWithZeroValueAndBaseUnit()
        {
            var quantity = new TemperatureGradient();

            Assert.Equal(0, quantity.Value);
            Assert.Equal(TemperatureGradientUnit.KelvinPerMeter, quantity.Unit);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        public void GetHashCode_Equals()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(new { TemperatureGradient.Info.Name, quantity.Value, quantity.Unit }.GetHashCode(), quantity.GetHashCode());
        }
Exemplo n.º 17
0
        public void Convert_ChangeType_InvalidType_ThrowsInvalidCastException()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ChangeType(quantity, typeof(QuantityFormatter)));
        }
Exemplo n.º 18
0
        public void Convert_ChangeType_BaseDimensions_EqualsBaseDimensions()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(TemperatureGradient.BaseDimensions, Convert.ChangeType(quantity, typeof(BaseDimensions)));
        }
Exemplo n.º 19
0
        public void Convert_ChangeType_QuantityInfo_EqualsQuantityInfo()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(TemperatureGradient.Info, Convert.ChangeType(quantity, typeof(QuantityInfo)));
        }
Exemplo n.º 20
0
        public void Convert_ChangeType_UnitType_EqualsUnit()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(quantity.Unit, Convert.ChangeType(quantity, typeof(TemperatureGradientUnit)));
        }
Exemplo n.º 21
0
        public void Convert_ChangeType_SelfType_EqualsSelf()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(quantity, Convert.ChangeType(quantity, typeof(TemperatureGradient)));
        }
Exemplo n.º 22
0
        public void Convert_ToString_EqualsToString()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(quantity.ToString(), Convert.ToString(quantity));
        }
Exemplo n.º 23
0
        public void Convert_ToSingle_EqualsValueAsSameType()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal((float)quantity.Value, Convert.ToSingle(quantity));
        }
Exemplo n.º 24
0
        public void Convert_ToInt16_EqualsValueAsSameType()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal((short)quantity.Value, Convert.ToInt16(quantity));
        }
Exemplo n.º 25
0
        public void Convert_ToDecimal_EqualsValueAsSameType()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal((decimal)quantity.Value, Convert.ToDecimal(quantity));
        }
Exemplo n.º 26
0
        public void Convert_ToDateTime_ThrowsInvalidCastException()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ToDateTime(quantity));
        }
Exemplo n.º 27
0
        public void ToString_NullArgs_ThrowsArgumentNullException()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Throws <ArgumentNullException>(() => quantity.ToString(null, "g", null));
        }
Exemplo n.º 28
0
        public void NegationOperator_ReturnsQuantity_WithNegatedValue(double value)
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(value);

            Assert.Equal(TemperatureGradient.FromKelvinsPerMeter(-value), -quantity);
        }
Exemplo n.º 29
0
        public void ToString_NullProvider_EqualsCurrentUICulture()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal(quantity.ToString(CultureInfo.CurrentUICulture, "g"), quantity.ToString(null, "g"));
        }
Exemplo n.º 30
0
        public void Convert_ToUInt64_EqualsValueAsSameType()
        {
            var quantity = TemperatureGradient.FromKelvinsPerMeter(1.0);

            Assert.Equal((ulong)quantity.Value, Convert.ToUInt64(quantity));
        }