protected BaseMessageSender( string caseTitle, string messageSenderName, ILogger logger, IQueueCasePublisher queueCasePublisher, IRuleBreachRepository ruleBreachRepository, IRuleBreachOrdersRepository ruleBreachOrdersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper) { this.Logger = logger ?? throw new ArgumentNullException(nameof(logger)); this._queueCasePublisher = queueCasePublisher ?? throw new ArgumentNullException(nameof(queueCasePublisher)); this._ruleBreachRepository = ruleBreachRepository ?? throw new ArgumentNullException(nameof(ruleBreachRepository)); this._ruleBreachOrdersRepository = ruleBreachOrdersRepository ?? throw new ArgumentNullException(nameof(ruleBreachOrdersRepository)); this._ruleBreachToRuleBreachOrdersMapper = ruleBreachToRuleBreachOrdersMapper ?? throw new ArgumentNullException( nameof(ruleBreachToRuleBreachOrdersMapper)); this._ruleBreachToRuleBreachMapper = ruleBreachToRuleBreachMapper ?? throw new ArgumentNullException( nameof(ruleBreachToRuleBreachMapper)); this._caseTitle = caseTitle ?? string.Empty; this._messageSenderName = messageSenderName ?? "unknown message sender"; }
public RuleViolationServiceFactory( IQueueCasePublisher queueCasePublisher, IRuleBreachRepository ruleBreachRepository, IRuleBreachOrdersRepository ruleBreachOrdersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper, ILogger <RuleViolationService> logger) { this._queueCasePublisher = queueCasePublisher ?? throw new ArgumentNullException(nameof(queueCasePublisher)); this._ruleBreachRepository = ruleBreachRepository ?? throw new ArgumentNullException(nameof(ruleBreachRepository)); this._ruleBreachOrdersRepository = ruleBreachOrdersRepository ?? throw new ArgumentNullException(nameof(ruleBreachOrdersRepository)); this._ruleBreachToRuleBreachOrdersMapper = ruleBreachToRuleBreachOrdersMapper ?? throw new ArgumentNullException( nameof(ruleBreachToRuleBreachOrdersMapper)); this._ruleBreachToRuleBreachMapper = ruleBreachToRuleBreachMapper ?? throw new ArgumentNullException( nameof(ruleBreachToRuleBreachMapper)); this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public RuleViolationService( IQueueCasePublisher queueCasePublisher, IRuleBreachRepository ruleBreachRepository, IRuleBreachOrdersRepository ruleBreachOrdersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper, ILogger <RuleViolationService> logger) { this._ruleViolations = new Stack <IRuleBreach>(); this._deduplicatedRuleViolations = new Queue <RuleViolationIdPair>(); this._queueCasePublisher = queueCasePublisher ?? throw new ArgumentNullException(nameof(queueCasePublisher)); this._ruleBreachRepository = ruleBreachRepository ?? throw new ArgumentNullException(nameof(ruleBreachRepository)); this._ruleBreachOrdersRepository = ruleBreachOrdersRepository ?? throw new ArgumentNullException(nameof(ruleBreachOrdersRepository)); this._ruleBreachToRuleBreachOrdersMapper = ruleBreachToRuleBreachOrdersMapper ?? throw new ArgumentNullException( nameof(ruleBreachToRuleBreachOrdersMapper)); this._ruleBreachToRuleBreachMapper = ruleBreachToRuleBreachMapper ?? throw new ArgumentNullException( nameof(ruleBreachToRuleBreachMapper)); this._logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public void Setup() { this.queueCasePublisher = A.Fake <IQueueCasePublisher>(); this.ruleBreachRepository = A.Fake <IRuleBreachRepository>(); this.ruleBreachOrdersRepository = A.Fake <IRuleBreachOrdersRepository>(); this.ruleBreachToRuleBreachOrdersMapper = A.Fake <IRuleBreachToRuleBreachOrdersMapper>(); this.ruleBreachToRuleBreachMapper = A.Fake <IRuleBreachToRuleBreachMapper>(); this.logger = A.Fake <ILogger <RuleViolationService> >(); }
public void Setup() { this.logger = A.Fake <ILogger <IHighVolumeMessageSender> >(); this.queueCasePublisher = A.Fake <IQueueCasePublisher>(); this.repository = A.Fake <IRuleBreachRepository>(); this.ordersRepository = A.Fake <IRuleBreachOrdersRepository>(); this.ruleBreachToRuleBreachOrdersMapper = A.Fake <IRuleBreachToRuleBreachOrdersMapper>(); this.ruleBreachToRuleBreachMapper = A.Fake <IRuleBreachToRuleBreachMapper>(); this.market = new Market("a", "XLON", "London Stock Exchange", MarketTypes.STOCKEXCHANGE); }
public SpoofingRuleMessageSender( ILogger <SpoofingRuleMessageSender> logger, IQueueCasePublisher queueCasePublisher, IRuleBreachRepository repository, IRuleBreachOrdersRepository ordersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper) : base( "Automated Spoofing Rule Breach Detected", "Spoofing Rule Message Sender", logger, queueCasePublisher, repository, ordersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }
public MarkingTheCloseMessageSender( ILogger <MarkingTheCloseMessageSender> logger, IQueueCasePublisher queueCasePublisher, IRuleBreachRepository repository, IRuleBreachOrdersRepository ordersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper) : base( "Automated Marking The Close Rule Breach Detected", "Marking The Close Message Sender", logger, queueCasePublisher, repository, ordersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }
public HighVolumeMessageSender( ILogger <IHighVolumeMessageSender> logger, IQueueCasePublisher queueCasePublisher, IRuleBreachRepository repository, IRuleBreachOrdersRepository ordersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper) : base( "Automated High Volume Rule Breach Detected", "High Volume Message Sender", logger, queueCasePublisher, repository, ordersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }
public CancelledOrderMessageSender( ILogger <CancelledOrderMessageSender> logger, IQueueCasePublisher queueCasePublisher, IRuleBreachRepository repository, IRuleBreachOrdersRepository ordersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper) : base( "Automated Cancellation Ratio Rule Breach Detected", "Cancelled Order Message Sender", logger, queueCasePublisher, repository, ordersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }
public LayeringAlertSender( ILogger <LayeringAlertSender> logger, IQueueCasePublisher queueCasePublisher, IRuleBreachRepository repository, IRuleBreachOrdersRepository ordersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper) : base( "Automated Layering Rule Breach Detected", "Layering Message Sender", logger, queueCasePublisher, repository, ordersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }
public PlacingOrdersWithNoIntentToExecuteMessageSender( IQueueCasePublisher queueCasePublisher, IRuleBreachRepository ruleBreachRepository, IRuleBreachOrdersRepository ruleBreachOrdersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper, ILogger <PlacingOrdersWithNoIntentToExecuteMessageSender> logger) : base( "Automated Placing Orders With No Intent To Execute Rule Breach Detected", "Placing Orders Without Intent To Execute Message Sender", logger, queueCasePublisher, ruleBreachRepository, ruleBreachOrdersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }
public RampingRuleMessageSender( IQueueCasePublisher queueCasePublisher, IRuleBreachRepository ruleBreachRepository, IRuleBreachOrdersRepository ruleBreachOrdersRepository, IRuleBreachToRuleBreachOrdersMapper ruleBreachToRuleBreachOrdersMapper, IRuleBreachToRuleBreachMapper ruleBreachToRuleBreachMapper, ILogger <IRampingRuleMessageSender> logger) : base( "Automated Ramping Rule Breach Detected", "Ramping Rule Message Sender", logger, queueCasePublisher, ruleBreachRepository, ruleBreachOrdersRepository, ruleBreachToRuleBreachOrdersMapper, ruleBreachToRuleBreachMapper) { }