public void ArithmeticOperators()
        {
            SolidAngle v = SolidAngle.FromSteradians(1);

            AssertEx.EqualTolerance(-1, -v.Steradians, SteradiansTolerance);
            AssertEx.EqualTolerance(2, (SolidAngle.FromSteradians(3) - v).Steradians, SteradiansTolerance);
            AssertEx.EqualTolerance(2, (v + v).Steradians, SteradiansTolerance);
            AssertEx.EqualTolerance(10, (v * 10).Steradians, SteradiansTolerance);
            AssertEx.EqualTolerance(10, (10 * v).Steradians, SteradiansTolerance);
            AssertEx.EqualTolerance(2, (SolidAngle.FromSteradians(10) / 5).Steradians, SteradiansTolerance);
            AssertEx.EqualTolerance(2, SolidAngle.FromSteradians(10) / SolidAngle.FromSteradians(5), SteradiansTolerance);
        }
Пример #2
0
        public void To_UnitSystem_ThrowsArgumentExceptionIfNotSupported()
        {
            var steradian = SolidAngle.FromSteradians(1);

            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.SI));
            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.CGS));
            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.BI));
            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.EE));
            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.USC));
            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.FPS));
            Assert.Throws <ArgumentException>(() => steradian.ToUnit(UnitSystem.Astronomical));
        }
Пример #3
0
        public void EqualityOperators()
        {
            SolidAngle a = SolidAngle.FromSteradians(1);
            SolidAngle b = SolidAngle.FromSteradians(2);

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

            Assert.False(a == b);
            Assert.False(a != a);
// ReSharper restore EqualExpressionComparison
        }
Пример #4
0
        public void ComparisonOperators()
        {
            SolidAngle oneSteradian  = SolidAngle.FromSteradians(1);
            SolidAngle twoSteradians = SolidAngle.FromSteradians(2);

            Assert.True(oneSteradian < twoSteradians);
            Assert.True(oneSteradian <= twoSteradians);
            Assert.True(twoSteradians > oneSteradian);
            Assert.True(twoSteradians >= oneSteradian);

            Assert.False(oneSteradian > twoSteradians);
            Assert.False(oneSteradian >= twoSteradians);
            Assert.False(twoSteradians < oneSteradian);
            Assert.False(twoSteradians <= oneSteradian);
        }
Пример #5
0
        public void EqualityOperators()
        {
            var a = SolidAngle.FromSteradians(1);
            var b = SolidAngle.FromSteradians(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
        }
Пример #6
0
        public void CompareToThrowsOnTypeMismatch()
        {
            SolidAngle steradian = SolidAngle.FromSteradians(1);

            Assert.Throws <ArgumentException>(() => steradian.CompareTo(new object()));
        }
Пример #7
0
        public void Convert_ToSingle_EqualsValueAsSameType()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal((float)quantity.Value, Convert.ToSingle(quantity));
        }
 /// <inheritdoc cref="SolidAngle.FromSteradians(double?)"/>
 public static SolidAngle?Steradians(this float?value) => SolidAngle.FromSteradians(value);
Пример #9
0
        public void As()
        {
            var steradian = SolidAngle.FromSteradians(1);

            AssertEx.EqualTolerance(SteradiansInOneSteradian, steradian.As(SolidAngleUnit.Steradian), SteradiansTolerance);
        }
Пример #10
0
 public void FromSteradians_WithInfinityValue_ThrowsArgumentException()
 {
     Assert.Throws <ArgumentException>(() => SolidAngle.FromSteradians(double.PositiveInfinity));
     Assert.Throws <ArgumentException>(() => SolidAngle.FromSteradians(double.NegativeInfinity));
 }
Пример #11
0
        public void EqualsReturnsFalseOnNull()
        {
            SolidAngle steradian = SolidAngle.FromSteradians(1);

            Assert.False(steradian.Equals(null));
        }
Пример #12
0
        public void Convert_ChangeType_BaseDimensions_EqualsBaseDimensions()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal(SolidAngle.BaseDimensions, Convert.ChangeType(quantity, typeof(BaseDimensions)));
        }
Пример #13
0
        public void Convert_ChangeType_QuantityType_EqualsQuantityType()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal(QuantityType.SolidAngle, Convert.ChangeType(quantity, typeof(QuantityType)));
        }
Пример #14
0
        public void Convert_ChangeType_UnitType_EqualsUnit()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal(quantity.Unit, Convert.ChangeType(quantity, typeof(SolidAngleUnit)));
        }
Пример #15
0
        public void Convert_ChangeType_SelfType_EqualsSelf()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal(quantity, Convert.ChangeType(quantity, typeof(SolidAngle)));
        }
Пример #16
0
        public void Convert_ToUInt64_EqualsValueAsSameType()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal((ulong)quantity.Value, Convert.ToUInt64(quantity));
        }
Пример #17
0
        public void Convert_ToString_EqualsToString()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal(quantity.ToString(), Convert.ToString(quantity));
        }
Пример #18
0
        public void CompareToThrowsOnNull()
        {
            SolidAngle steradian = SolidAngle.FromSteradians(1);

            Assert.Throws <ArgumentNullException>(() => steradian.CompareTo(null));
        }
Пример #19
0
        public void EqualsReturnsFalseOnTypeMismatch()
        {
            SolidAngle steradian = SolidAngle.FromSteradians(1);

            Assert.False(steradian.Equals(new object()));
        }
Пример #20
0
        public void Convert_ChangeType_InvalidType_ThrowsInvalidCastException()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ChangeType(quantity, typeof(QuantityFormatter)));
        }
Пример #21
0
        public void SteradianToSolidAngleUnits()
        {
            SolidAngle steradian = SolidAngle.FromSteradians(1);

            AssertEx.EqualTolerance(SteradiansInOneSteradian, steradian.Steradians, SteradiansTolerance);
        }
Пример #22
0
        public void GetHashCode_Equals()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal(new { SolidAngle.QuantityType, quantity.Value, quantity.Unit }.GetHashCode(), quantity.GetHashCode());
        }
Пример #23
0
 public void FromSteradians_WithNanValue_ThrowsArgumentException()
 {
     Assert.Throws <ArgumentException>(() => SolidAngle.FromSteradians(double.NaN));
 }
Пример #24
0
        public void NegationOperator_ReturnsQuantity_WithNegatedValue(decimal value)
        {
            var quantity = SolidAngle.FromSteradians(value);

            Assert.Equal(SolidAngle.FromSteradians(-value), -quantity);
        }
 /// <inheritdoc cref="SolidAngle.FromSteradians(double)"/>
 public static SolidAngle Steradians(this double value) => SolidAngle.FromSteradians(value);
 /// <inheritdoc cref="SolidAngle.FromSteradians(double?)"/>
 public static SolidAngle?Steradians(this decimal?value) => SolidAngle.FromSteradians(value == null ? (double?)null : Convert.ToDouble(value.Value));
 /// <inheritdoc cref="SolidAngle.FromSteradians(double)"/>
 public static SolidAngle Steradians(this decimal value) => SolidAngle.FromSteradians(Convert.ToDouble(value));
Пример #28
0
        public void Convert_ToInt16_EqualsValueAsSameType()
        {
            var quantity = SolidAngle.FromSteradians(1.0);

            Assert.Equal((short)quantity.Value, Convert.ToInt16(quantity));
        }
 public void NumberToSteradiansTest() =>
 Assert.Equal(SolidAngle.FromSteradians(2), 2.Steradians());
Пример #30
0
        public void ConversionRoundTrip()
        {
            SolidAngle steradian = SolidAngle.FromSteradians(1);

            AssertEx.EqualTolerance(1, SolidAngle.FromSteradians(steradian.Steradians).Steradians, SteradiansTolerance);
        }