Example #1
0
        public void CanCallSetTargetPressure()
        {
            AsyncContext.Run(async() =>
            {
                decimal actualTargetPressure = 0m;
                var targetPressure           = 1.4m;

                var instance = new ServiceSimulation(SynchronizationContext.Current);

                instance.TargetPressure.Subscribe(tp => actualTargetPressure = tp);

                await instance.SetTargetPressure(targetPressure, CancellationToken.None);
                actualTargetPressure.Should().Be(targetPressure);
            });
        }
Example #2
0
        public void CannotCallSetTargetPressureTooHigh()
        {
            AsyncContext.Run(async() =>
            {
                bool targetPressureCalled;
                var instance = new ServiceSimulation(SynchronizationContext.Current);

                instance.Pressure.Subscribe(_ => targetPressureCalled = true);

                // reset offsetCalled because it's a behaviorsubject that will always trigger.
                targetPressureCalled = false;

                Func <Task> act = () => instance.SetTargetPressure(2m, CancellationToken.None);

                await act.Should().ThrowAsync <ArgumentOutOfRangeException>();
                targetPressureCalled.Should().BeFalse();
            });
        }