Exemple #1
0
        public void EqualsIsImplemented()
        {
            ElectricConductance v = ElectricConductance.FromSiemens(1);

            Assert.True(v.Equals(ElectricConductance.FromSiemens(1), ElectricConductance.FromSiemens(SiemensTolerance)));
            Assert.False(v.Equals(ElectricConductance.Zero, ElectricConductance.FromSiemens(SiemensTolerance)));
        }
Exemple #2
0
        public void Equals_RelativeTolerance_IsImplemented()
        {
            var v = ElectricConductance.FromSiemens(1);

            Assert.True(v.Equals(ElectricConductance.FromSiemens(1), SiemensTolerance, ComparisonType.Relative));
            Assert.False(v.Equals(ElectricConductance.Zero, SiemensTolerance, ComparisonType.Relative));
        }
Exemple #3
0
        public void DefaultCtor_ReturnsQuantityWithZeroValueAndBaseUnit()
        {
            var quantity = new ElectricConductance();

            Assert.Equal(0, quantity.Value);
            Assert.Equal(ElectricConductanceUnit.Siemens, quantity.Unit);
        }
        public void Ctor_WithInfinityValue_CreateQuantityAndAffectInfinityValue()
        {
            var positiveInfinityQuantity = new ElectricConductance(double.PositiveInfinity, ElectricConductanceUnit.Siemens);
            var negativeInfinityQuantity = new ElectricConductance(double.NegativeInfinity, ElectricConductanceUnit.Siemens);

            Assert.True(double.IsPositiveInfinity(positiveInfinityQuantity.Value));
            Assert.True(double.IsNegativeInfinity(negativeInfinityQuantity.Value));
        }
Exemple #5
0
        public void As()
        {
            var siemens = ElectricConductance.FromSiemens(1);

            AssertEx.EqualTolerance(MicrosiemensInOneSiemens, siemens.As(ElectricConductanceUnit.Microsiemens), MicrosiemensTolerance);
            AssertEx.EqualTolerance(MillisiemensInOneSiemens, siemens.As(ElectricConductanceUnit.Millisiemens), MillisiemensTolerance);
            AssertEx.EqualTolerance(SiemensInOneSiemens, siemens.As(ElectricConductanceUnit.Siemens), SiemensTolerance);
        }
Exemple #6
0
        public void CompareToIsImplemented()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            Assert.Equal(0, siemens.CompareTo(siemens));
            Assert.True(siemens.CompareTo(ElectricConductance.Zero) > 0);
            Assert.True(ElectricConductance.Zero.CompareTo(siemens) < 0);
        }
Exemple #7
0
        public void SiemensToElectricConductanceUnits()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            AssertEx.EqualTolerance(MicrosiemensInOneSiemens, siemens.Microsiemens, MicrosiemensTolerance);
            AssertEx.EqualTolerance(MillisiemensInOneSiemens, siemens.Millisiemens, MillisiemensTolerance);
            AssertEx.EqualTolerance(SiemensInOneSiemens, siemens.Siemens, SiemensTolerance);
        }
Exemple #8
0
        public void Equals_SameType_IsImplemented()
        {
            var a = ElectricConductance.FromSiemens(1);
            var b = ElectricConductance.FromSiemens(2);

            Assert.True(a.Equals(a));
            Assert.False(a.Equals(b));
        }
        public void FromSiemens_WithInfinityValue_CreateQuantityAndAffectInfinityValue()
        {
            var positiveInfinityQuantity = ElectricConductance.FromSiemens(double.PositiveInfinity);
            var negativeInfinityQuantity = ElectricConductance.FromSiemens(double.NegativeInfinity);

            Assert.True(double.IsPositiveInfinity(positiveInfinityQuantity.Value));
            Assert.True(double.IsNegativeInfinity(negativeInfinityQuantity.Value));
        }
Exemple #10
0
        public void ConversionRoundTrip()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            AssertEx.EqualTolerance(1, ElectricConductance.FromMicrosiemens(siemens.Microsiemens).Siemens, MicrosiemensTolerance);
            AssertEx.EqualTolerance(1, ElectricConductance.FromMillisiemens(siemens.Millisiemens).Siemens, MillisiemensTolerance);
            AssertEx.EqualTolerance(1, ElectricConductance.FromSiemens(siemens.Siemens).Siemens, SiemensTolerance);
        }
Exemple #11
0
        public void Equals_QuantityAsObject_IsImplemented()
        {
            object a = ElectricConductance.FromSiemens(1);
            object b = ElectricConductance.FromSiemens(2);

            Assert.True(a.Equals(a));
            Assert.False(a.Equals(b));
            Assert.False(a.Equals((object)null));
        }
        public void To_UnitSystem_ThrowsArgumentExceptionIfNotSupported()
        {
            var siemens = ElectricConductance.FromSiemens(1);

            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.SI));
            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.CGS));
            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.BI));
            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.EE));
            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.USC));
            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.FPS));
            Assert.Throws <ArgumentException>(() => siemens.ToUnit(UnitSystem.Astronomical));
        }
Exemple #13
0
        public void ArithmeticOperators()
        {
            ElectricConductance v = ElectricConductance.FromSiemens(1);

            AssertEx.EqualTolerance(-1, -v.Siemens, SiemensTolerance);
            AssertEx.EqualTolerance(2, (ElectricConductance.FromSiemens(3) - v).Siemens, SiemensTolerance);
            AssertEx.EqualTolerance(2, (v + v).Siemens, SiemensTolerance);
            AssertEx.EqualTolerance(10, (v * 10).Siemens, SiemensTolerance);
            AssertEx.EqualTolerance(10, (10 * v).Siemens, SiemensTolerance);
            AssertEx.EqualTolerance(2, (ElectricConductance.FromSiemens(10) / 5).Siemens, SiemensTolerance);
            AssertEx.EqualTolerance(2, ElectricConductance.FromSiemens(10) / ElectricConductance.FromSiemens(5), SiemensTolerance);
        }
Exemple #14
0
        public void EqualityOperators()
        {
            ElectricConductance a = ElectricConductance.FromSiemens(1);
            ElectricConductance b = ElectricConductance.FromSiemens(2);

// ReSharper disable EqualExpressionComparison
            Assert.True(a == a);
            Assert.True(a != b);

            Assert.False(a == b);
            Assert.False(a != a);
// ReSharper restore EqualExpressionComparison
        }
Exemple #15
0
        public void ComparisonOperators()
        {
            ElectricConductance oneSiemens = ElectricConductance.FromSiemens(1);
            ElectricConductance twoSiemens = ElectricConductance.FromSiemens(2);

            Assert.True(oneSiemens < twoSiemens);
            Assert.True(oneSiemens <= twoSiemens);
            Assert.True(twoSiemens > oneSiemens);
            Assert.True(twoSiemens >= oneSiemens);

            Assert.False(oneSiemens > twoSiemens);
            Assert.False(oneSiemens >= twoSiemens);
            Assert.False(twoSiemens < oneSiemens);
            Assert.False(twoSiemens <= oneSiemens);
        }
Exemple #16
0
        public void As_SIUnitSystem_ThrowsArgumentExceptionIfNotSupported()
        {
            var           quantity           = new ElectricConductance(value: 1, unit: ElectricConductance.BaseUnit);
            Func <object> AsWithSIUnitSystem = () => quantity.As(UnitSystem.SI);

            if (SupportsSIUnitSystem)
            {
                var value = (decimal)AsWithSIUnitSystem();
                Assert.Equal(1, value);
            }
            else
            {
                Assert.Throws <ArgumentException>(AsWithSIUnitSystem);
            }
        }
Exemple #17
0
        public void ElectricConductance_QuantityInfo_ReturnsQuantityInfoDescribingQuantity()
        {
            var quantity = new ElectricConductance(1, ElectricConductanceUnit.Siemens);

            QuantityInfo <ElectricConductanceUnit> quantityInfo = quantity.QuantityInfo;

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

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

            // Obsolete members
            Assert.Equal(units, quantityInfo.Units);
            Assert.Equal(unitNames, quantityInfo.UnitNames);
        }
Exemple #18
0
        public void From_ValueAndUnit_ReturnsQuantityWithSameValueAndUnit()
        {
            var quantity00 = ElectricConductance.From(1, ElectricConductanceUnit.Microsiemens);

            AssertEx.EqualTolerance(1, quantity00.Microsiemens, MicrosiemensTolerance);
            Assert.Equal(ElectricConductanceUnit.Microsiemens, quantity00.Unit);

            var quantity01 = ElectricConductance.From(1, ElectricConductanceUnit.Millisiemens);

            AssertEx.EqualTolerance(1, quantity01.Millisiemens, MillisiemensTolerance);
            Assert.Equal(ElectricConductanceUnit.Millisiemens, quantity01.Unit);

            var quantity02 = ElectricConductance.From(1, ElectricConductanceUnit.Siemens);

            AssertEx.EqualTolerance(1, quantity02.Siemens, SiemensTolerance);
            Assert.Equal(ElectricConductanceUnit.Siemens, quantity02.Unit);
        }
Exemple #19
0
        public void ToUnit()
        {
            var siemens = ElectricConductance.FromSiemens(1);

            var microsiemensQuantity = siemens.ToUnit(ElectricConductanceUnit.Microsiemens);

            AssertEx.EqualTolerance(MicrosiemensInOneSiemens, (double)microsiemensQuantity.Value, MicrosiemensTolerance);
            Assert.Equal(ElectricConductanceUnit.Microsiemens, microsiemensQuantity.Unit);

            var millisiemensQuantity = siemens.ToUnit(ElectricConductanceUnit.Millisiemens);

            AssertEx.EqualTolerance(MillisiemensInOneSiemens, (double)millisiemensQuantity.Value, MillisiemensTolerance);
            Assert.Equal(ElectricConductanceUnit.Millisiemens, millisiemensQuantity.Unit);

            var siemensQuantity = siemens.ToUnit(ElectricConductanceUnit.Siemens);

            AssertEx.EqualTolerance(SiemensInOneSiemens, (double)siemensQuantity.Value, SiemensTolerance);
            Assert.Equal(ElectricConductanceUnit.Siemens, siemensQuantity.Unit);
        }
Exemple #20
0
        public void EqualityOperators()
        {
            var a = ElectricConductance.FromSiemens(1);
            var b = ElectricConductance.FromSiemens(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
        }
Exemple #21
0
        public void EqualsReturnsFalseOnNull()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            Assert.False(siemens.Equals(null));
        }
Exemple #22
0
        public void EqualsReturnsFalseOnTypeMismatch()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            Assert.False(siemens.Equals(new object()));
        }
Exemple #23
0
        public void CompareToThrowsOnNull()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            Assert.Throws <ArgumentNullException>(() => siemens.CompareTo(null));
        }
Exemple #24
0
        public void GetHashCode_Equals()
        {
            var quantity = ElectricConductance.FromSiemens(1.0);

            Assert.Equal(new { ElectricConductance.QuantityType, quantity.Value, quantity.Unit }.GetHashCode(), quantity.GetHashCode());
        }
Exemple #25
0
        public void Convert_ChangeType_QuantityType_EqualsQuantityType()
        {
            var quantity = ElectricConductance.FromSiemens(1.0);

            Assert.Equal(QuantityType.ElectricConductance, Convert.ChangeType(quantity, typeof(QuantityType)));
        }
Exemple #26
0
        public void Convert_ChangeType_BaseDimensions_EqualsBaseDimensions()
        {
            var quantity = ElectricConductance.FromSiemens(1.0);

            Assert.Equal(ElectricConductance.BaseDimensions, Convert.ChangeType(quantity, typeof(BaseDimensions)));
        }
Exemple #27
0
        public void NegationOperator_ReturnsQuantity_WithNegatedValue(decimal value)
        {
            var quantity = ElectricConductance.FromSiemens(value);

            Assert.Equal(ElectricConductance.FromSiemens(-value), -quantity);
        }
Exemple #28
0
 public void FromValueAndUnit()
 {
     AssertEx.EqualTolerance(1, ElectricConductance.From(1, ElectricConductanceUnit.Microsiemens).Microsiemens, MicrosiemensTolerance);
     AssertEx.EqualTolerance(1, ElectricConductance.From(1, ElectricConductanceUnit.Millisiemens).Millisiemens, MillisiemensTolerance);
     AssertEx.EqualTolerance(1, ElectricConductance.From(1, ElectricConductanceUnit.Siemens).Siemens, SiemensTolerance);
 }
Exemple #29
0
        public void CompareToThrowsOnTypeMismatch()
        {
            ElectricConductance siemens = ElectricConductance.FromSiemens(1);

            Assert.Throws <ArgumentException>(() => siemens.CompareTo(new object()));
        }
Exemple #30
0
        public void Convert_ChangeType_InvalidType_ThrowsInvalidCastException()
        {
            var quantity = ElectricConductance.FromSiemens(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ChangeType(quantity, typeof(QuantityFormatter)));
        }