public void DefaultCtor_ReturnsQuantityWithZeroValueAndBaseUnit()
        {
            var quantity = new CatalyticVolumeActivity();

            Assert.Equal(0, quantity.Value);
            Assert.Equal(CatalyticVolumeActivityUnit.KatalPerCubicMeter, quantity.Unit);
        }
        public void Equals_RelativeTolerance_IsImplemented()
        {
            var v = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.True(v.Equals(CatalyticVolumeActivity.FromKatalPerCubicMeters(1), KatalPerCubicMetersTolerance, ComparisonType.Relative));
            Assert.False(v.Equals(CatalyticVolumeActivity.Zero, KatalPerCubicMetersTolerance, ComparisonType.Relative));
        }
        public void From_ValueAndUnit_ReturnsQuantityWithSameValueAndUnit()
        {
            var quantity00 = CatalyticVolumeActivity.From(1, CatalyticVolumeActivityUnit.KatalPerCubicMeter);

            AssertEx.EqualTolerance(1, quantity00.KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            Assert.Equal(CatalyticVolumeActivityUnit.KatalPerCubicMeter, quantity00.Unit);
        }
        public void Equals_SameType_IsImplemented()
        {
            var a = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);
            var b = CatalyticVolumeActivity.FromKatalPerCubicMeters(2);

            Assert.True(a.Equals(a));
            Assert.False(a.Equals(b));
        }
        public void CompareToIsImplemented()
        {
            CatalyticVolumeActivity katalpercubicmeter = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.Equal(0, katalpercubicmeter.CompareTo(katalpercubicmeter));
            Assert.True(katalpercubicmeter.CompareTo(CatalyticVolumeActivity.Zero) > 0);
            Assert.True(CatalyticVolumeActivity.Zero.CompareTo(katalpercubicmeter) < 0);
        }
        public void Equals_QuantityAsObject_IsImplemented()
        {
            object a = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);
            object b = CatalyticVolumeActivity.FromKatalPerCubicMeters(2);

            Assert.True(a.Equals(a));
            Assert.False(a.Equals(b));
            Assert.False(a.Equals((object)null));
        }
        public void ToUnit()
        {
            var katalpercubicmeter = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            var katalpercubicmeterQuantity = katalpercubicmeter.ToUnit(CatalyticVolumeActivityUnit.KatalPerCubicMeter);

            AssertEx.EqualTolerance(KatalPerCubicMetersInOneKatalPerCubicMeter, (double)katalpercubicmeterQuantity.Value, KatalPerCubicMetersTolerance);
            Assert.Equal(CatalyticVolumeActivityUnit.KatalPerCubicMeter, katalpercubicmeterQuantity.Unit);
        }
        public void ArithmeticOperators()
        {
            CatalyticVolumeActivity v = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            AssertEx.EqualTolerance(-1, -v.KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            AssertEx.EqualTolerance(2, (CatalyticVolumeActivity.FromKatalPerCubicMeters(3) - v).KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            AssertEx.EqualTolerance(2, (v + v).KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            AssertEx.EqualTolerance(10, (v * 10).KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            AssertEx.EqualTolerance(10, (10 * v).KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            AssertEx.EqualTolerance(2, (CatalyticVolumeActivity.FromKatalPerCubicMeters(10) / 5).KatalPerCubicMeters, KatalPerCubicMetersTolerance);
            AssertEx.EqualTolerance(2, CatalyticVolumeActivity.FromKatalPerCubicMeters(10) / CatalyticVolumeActivity.FromKatalPerCubicMeters(5), KatalPerCubicMetersTolerance);
        }
        public void ComparisonOperators()
        {
            CatalyticVolumeActivity oneKatalPerCubicMeter  = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);
            CatalyticVolumeActivity twoKatalPerCubicMeters = CatalyticVolumeActivity.FromKatalPerCubicMeters(2);

            Assert.True(oneKatalPerCubicMeter < twoKatalPerCubicMeters);
            Assert.True(oneKatalPerCubicMeter <= twoKatalPerCubicMeters);
            Assert.True(twoKatalPerCubicMeters > oneKatalPerCubicMeter);
            Assert.True(twoKatalPerCubicMeters >= oneKatalPerCubicMeter);

            Assert.False(oneKatalPerCubicMeter > twoKatalPerCubicMeters);
            Assert.False(oneKatalPerCubicMeter >= twoKatalPerCubicMeters);
            Assert.False(twoKatalPerCubicMeters < oneKatalPerCubicMeter);
            Assert.False(twoKatalPerCubicMeters <= oneKatalPerCubicMeter);
        }
        public void EqualityOperators()
        {
            var a = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);
            var b = CatalyticVolumeActivity.FromKatalPerCubicMeters(2);

            // 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
        }
        public void CatalyticVolumeActivity_QuantityInfo_ReturnsQuantityInfoDescribingQuantity()
        {
            var quantity = new CatalyticVolumeActivity(1, CatalyticVolumeActivityUnit.KatalPerCubicMeter);

            QuantityInfo <CatalyticVolumeActivityUnit> quantityInfo = quantity.QuantityInfo;

            Assert.Equal(CatalyticVolumeActivity.Zero, quantityInfo.Zero);
            Assert.Equal("CatalyticVolumeActivity", quantityInfo.Name);
            Assert.Equal(QuantityType.CatalyticVolumeActivity, quantityInfo.QuantityType);

            var units     = EnumUtils.GetEnumValues <CatalyticVolumeActivityUnit>().Except(new[] { CatalyticVolumeActivityUnit.Undefined }).ToArray();
            var unitNames = units.Select(x => x.ToString());

            // Obsolete members
#pragma warning disable 618
            Assert.Equal(units, quantityInfo.Units);
            Assert.Equal(unitNames, quantityInfo.UnitNames);
#pragma warning restore 618
        }
        public void Convert_ChangeType_BaseDimensions_EqualsBaseDimensions()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(CatalyticVolumeActivity.BaseDimensions, Convert.ChangeType(quantity, typeof(BaseDimensions)));
        }
        public void CompareToThrowsOnTypeMismatch()
        {
            CatalyticVolumeActivity katalpercubicmeter = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.Throws <ArgumentException>(() => katalpercubicmeter.CompareTo(new object()));
        }
        public void Convert_ChangeType_UnitType_EqualsUnit()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(quantity.Unit, Convert.ChangeType(quantity, typeof(CatalyticVolumeActivityUnit)));
        }
        public void Convert_ChangeType_QuantityType_EqualsQuantityType()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(QuantityType.CatalyticVolumeActivity, Convert.ChangeType(quantity, typeof(QuantityType)));
        }
        public void EqualsReturnsFalseOnTypeMismatch()
        {
            CatalyticVolumeActivity katalpercubicmeter = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.False(katalpercubicmeter.Equals(new object()));
        }
        public void Convert_ChangeType_SelfType_EqualsSelf()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(quantity, Convert.ChangeType(quantity, typeof(CatalyticVolumeActivity)));
        }
        public void Convert_ToSingle_EqualsValueAsSameType()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal((float)quantity.Value, Convert.ToSingle(quantity));
        }
        public void NegationOperator_ReturnsQuantity_WithNegatedValue(double value)
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(value);

            Assert.Equal(CatalyticVolumeActivity.FromKatalPerCubicMeters(-value), -quantity);
        }
        public void Convert_ToDateTime_ThrowsInvalidCastException()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ToDateTime(quantity));
        }
        public void Convert_ToDecimal_EqualsValueAsSameType()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal((decimal)quantity.Value, Convert.ToDecimal(quantity));
        }
        public void CompareToThrowsOnNull()
        {
            CatalyticVolumeActivity katalpercubicmeter = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.Throws <ArgumentNullException>(() => katalpercubicmeter.CompareTo(null));
        }
        public void ToString_NullArgs_ThrowsArgumentNullException()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Throws <ArgumentNullException>(() => quantity.ToString(null, "g", null));
        }
        public void EqualsReturnsFalseOnNull()
        {
            CatalyticVolumeActivity katalpercubicmeter = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.False(katalpercubicmeter.Equals(null));
        }
        public void Convert_ChangeType_InvalidType_ThrowsInvalidCastException()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ChangeType(quantity, typeof(QuantityFormatter)));
        }
        public void Convert_ToString_EqualsToString()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(quantity.ToString(), Convert.ToString(quantity));
        }
        public void GetHashCode_Equals()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(new { CatalyticVolumeActivity.QuantityType, quantity.Value, quantity.Unit }.GetHashCode(), quantity.GetHashCode());
        }
        public void Convert_ToUInt64_EqualsValueAsSameType()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal((ulong)quantity.Value, Convert.ToUInt64(quantity));
        }
        public void ToString_NullProvider_EqualsCurrentUICulture()
        {
            var quantity = CatalyticVolumeActivity.FromKatalPerCubicMeters(1.0);

            Assert.Equal(quantity.ToString(CultureInfo.CurrentUICulture, "g"), quantity.ToString(null, "g"));
        }
        public void Equals_NegativeRelativeTolerance_ThrowsArgumentOutOfRangeException()
        {
            var v = CatalyticVolumeActivity.FromKatalPerCubicMeters(1);

            Assert.Throws <ArgumentOutOfRangeException>(() => v.Equals(CatalyticVolumeActivity.FromKatalPerCubicMeters(1), -1, ComparisonType.Relative));
        }