public SpeedingCitation(ICalendarProvider calendar, ITicketer issuer, ILegalEntity citee, CitationSeverity severity) { _calendar = calendar ?? throw new ArgumentNullException(nameof(calendar)); Issuer = issuer ?? throw new ArgumentNullException(nameof(issuer)); Citee = citee ?? throw new ArgumentNullException(nameof(citee)); Severity = severity; CitationDate = _calendar.CurrentDate; }
public ICitation CreateCitation(ITrafficState trafficState, ILegalEntity citee, ITicketer issuer) { return(new SpeedingCitation(_calendar, issuer, citee, CalculateSeverity(trafficState, citee))); }