public void SetUp() { _mockRowBuilder = new Mock <IRowBuilder>(); _mockRowBuilder.Setup(mrb => mrb.BuildRow()).Returns(new Result <List <SymbolBase> >() { Success = true, FailureMessage = string.Empty, Data = new List <SymbolBase>() { new Apple(), new Apple(), new Apple() } }); _mockOutcomeBuilder = new Mock <IOutcomeBuilder>(); _mockOutcomeBuilder.Setup(mob => mob.Build(It.IsAny <List <SymbolBase> >())) .Returns((List <SymbolBase> row) => new OutcomeBuilder().Build(row)); _mockSpinSlotsResponseBuilder = new Mock <ISpinSlotsResponseBuilder>(); _mockSpinSlotsResponseBuilder.Setup( mssrb => mssrb.Build(It.IsAny <SpinSlotsRequest>(), It.IsAny <List <SymbolBase> >(), It.IsAny <decimal>())) .Returns( (SpinSlotsRequest request, List <SymbolBase> rows, decimal outcome) => new SpinSlotsResponseBuilder().Build(request, rows, outcome)); Builder = new SpinSlotsBuilder(_mockRowBuilder.Object, _mockOutcomeBuilder.Object, _mockSpinSlotsResponseBuilder.Object); }
public SlotsService(IValidator <SpinSlotsRequest, bool> validator, ISpinSlotsBuilder spinSlotsBuilder) { Validator = validator ?? throw new ArgumentNullException(nameof(validator)); Builder = spinSlotsBuilder ?? throw new ArgumentNullException(nameof(spinSlotsBuilder)); }