public void CreateAcceleration()
        {
            #region UsageAcceleration

            // Extension method for the acceleration base unit (m/s^2).
            var mps2 = 4.MetersPerSecondSquared();

            // Extension method with a unit selector for selecting any unit.
            var kmph2 = 5.ToAcceleration(x => x.Kilo.Meters / x.Square.Hours);

            // Same as above, but as a direct call to the constructor.
            var miphps = new Acceleration(6, x => x.Miles / x.Hours / x.Seconds);

            // Constructor, which accepts any IUnit (Primarily used by serialization).
            var mmps2 = new Acceleration(
                7,
                UnitSystem.GetUnitFrom("mm/s²", ParseSettings.DefaultInvariantCulture).Value);

            this.output.WriteLine(mps2);
            this.output.WriteLine(kmph2);
            this.output.WriteLine(miphps);
            this.output.WriteLine(mmps2);

            // 4 [m/s²]
            // 5 [km/h²]
            // 6 [mi/h/s]
            // 7 [mm/s²]

            #endregion
        }
        public void Acceleration_Multiplication_Then_ResultShouldBeExpected(double lhs, double rhs, double expected)
        {
            var testee = new Acceleration(lhs, x => x.Kilo.Meters / x.Hours / x.Hours);
            var time = new Time(rhs, x => x.Hours);

            var result = testee * time;

            result.Should().Be(expected, "km/h");
        }
Ejemplo n.º 3
0
        public void Acceleration_ToUnit_When_UnitsAreDifferent_Then_ResultShouldBeAsExpected(
            double acceleration,
            double expected)
        {
            var testee = new Acceleration(acceleration, selector => selector.Miles / selector.Hours / selector.Seconds);

            var result = testee.ToUnit(selector => selector.Meters / selector.Seconds / selector.Seconds);

            result.Should().BeApproximately(expected, "m/s²", TestHelper.DefaultAssertPrecision);
        }
Ejemplo n.º 4
0
            Acceleration_ToUnit_When_ConvertingFromMeterPerSecondPerSecondToMilePerHourPerSecond_Then_ResultShouldBeAsExpected
            (double acceleration, double expected)
        {
            var testee = new Acceleration(
                acceleration,
                selector => selector.Meters / selector.Seconds / selector.Seconds);

            var result = testee.ToUnit(selector => selector.Miles / selector.Hours / selector.Seconds);

            result.Should().BeApproximately(expected, "mi/h/s", TestHelper.DefaultAssertPrecision);
        }