Ejemplo n.º 1
0
        public DeskHeightAndSpeed([NotNull] ILogger logger,
                                  [NotNull] IScheduler scheduler,
                                  [NotNull] IReferenceOutput referenceOutput,
                                  [NotNull] IRawValueToHeightAndSpeedConverter converter,
                                  [NotNull] ISubject <uint> subjectHeight,
                                  [NotNull] ISubject <int> subjectSpeed,
                                  [NotNull] ISubject <HeightSpeedDetails> subjectHeightAndSpeed)
        {
            Guard.ArgumentNotNull(logger,
                                  nameof(logger));
            Guard.ArgumentNotNull(scheduler,
                                  nameof(scheduler));
            Guard.ArgumentNotNull(referenceOutput,
                                  nameof(referenceOutput));
            Guard.ArgumentNotNull(converter,
                                  nameof(converter));
            Guard.ArgumentNotNull(subjectHeight,
                                  nameof(subjectHeight));
            Guard.ArgumentNotNull(subjectSpeed,
                                  nameof(subjectSpeed));
            Guard.ArgumentNotNull(subjectHeightAndSpeed,
                                  nameof(subjectHeightAndSpeed));

            _logger                = logger;
            _scheduler             = scheduler;
            _referenceOutput       = referenceOutput;
            _converter             = converter;
            _subjectHeight         = subjectHeight;
            _subjectSpeed          = subjectSpeed;
            _subjectHeightAndSpeed = subjectHeightAndSpeed;
        }
        public IDeskHeightAndSpeed Create(IReferenceOutput referenceOutput)
        {
            Guard.ArgumentNotNull(referenceOutput,
                                  nameof(referenceOutput));

            return(_factory(referenceOutput));
        }
        public void Create_ForInvokedWithCharacteristics_AddsReferenceOutput(
            DeskCharacteristicsCreator sut,
            IDeskCharacteristics characteristics,
            IDevice device,
            [Freeze] IReferenceOutput characteristic)
        {
            characteristics.WithCharacteristics(Arg.Any <DeskCharacteristicKey> ( ),
                                                Arg.Any <ICharacteristicBase> ( ))
            .Returns(characteristics);

            sut.Create(characteristics,
                       device);

            characteristics.Received( )
            .WithCharacteristics(DeskCharacteristicKey.ReferenceOutput,
                                 characteristic);
        }
 private IDeskHeightAndSpeed TestFactory(IReferenceOutput _)
 {
     return(Substitute.For <IDeskHeightAndSpeed> ( ));
 }