Пример #1
0
        public void CannotCallSetTemperatureOffsetTooHigh()
        {
            AsyncContext.Run(async() =>
            {
                bool offsetCalled;
                var instance = new ServiceSimulation(SynchronizationContext.Current);
                instance.Temperature.Subscribe(_ => offsetCalled = true);

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

                Func <Task> act = () => instance.SetTemperatureOffset(5m, CancellationToken.None);

                await act.Should().ThrowAsync <ArgumentOutOfRangeException>();
                offsetCalled.Should().BeFalse();
            });
        }
Пример #2
0
        public void CanCallSetTemperatureOffset()
        {
            AsyncContext.Run(async() =>
            {
                var instance = new ServiceSimulation(SynchronizationContext.Current);

                decimal actualOffset = 0m;

                instance.TemperatureOffset.Subscribe(o => actualOffset = o);

                var targetOffset      = 0.5m;
                var cancellationToken = CancellationToken.None;

                await instance.SetTemperatureOffset(targetOffset, cancellationToken);
                actualOffset.Should().Be(targetOffset);
            });
        }