public void ShouldReturnAnInvalidFilterOnInvalidFlightStartMissing() { var filter = new FlightFilter { FilterType = FilterType.Number, FlightEnd = 0 }; filter.IsValid().Should().BeFalse(); }
public void ShouldReturnAnInvalidFilterOnInvalidDateEndMissing() { var filter = new FlightFilter { FilterType = FilterType.Date, DateStart = DateTime.Now }; filter.IsValid().Should().BeFalse(); }
public void ShouldReturnAValidFilterOnDateStartLessThanDateEnd() { var filter = new FlightFilter { FilterType = FilterType.Date, DateStart = DateTime.Now, DateEnd = DateTime.Now.AddDays(1) }; filter.IsValid().Should().BeTrue(); }
public void ShouldReturnAnInvalidFilterOnDateStartGreaterThanDateEnd() { var filter = new FlightFilter { FilterType = FilterType.Date, DateStart = DateTime.Now.AddDays(1), DateEnd = DateTime.Now }; filter.IsValid().Should().BeFalse(); }
public void ShouldReturnAValidFilterOnSuppliedLaunchType(string launchType) { var filter = new FlightFilter { FilterType = FilterType.Launch, Launch = launchType }; filter.IsValid().Should().BeTrue(); }
public void ShouldReturnAnInvalidFilterOnNumberAndDateCombined() { var filter = new FlightFilter { FilterType = FilterType.Date | FilterType.Number }; filter.IsValid().Should().BeFalse(); }
public void ShouldReturnAnInvalidFilterOnMissingLaunchType() { var filter = new FlightFilter { FilterType = FilterType.Launch }; filter.IsValid().Should().BeFalse(); }
public void ShouldReturnValidFilterOnValidCrewPosition(int position) { var filter = new FlightFilter { FilterType = FilterType.Crew, Crew = position }; filter.IsValid().Should().BeTrue(); }
public void ShouldReturnAnInvalidFilterOnAirfieldMissing() { var filter = new FlightFilter { FilterType = FilterType.Airfield }; filter.IsValid().Should().BeFalse(); }
public void ShouldReturnAValidFilterOnFlightStartLessThanFlightEnd() { var filter = new FlightFilter { FilterType = FilterType.Number, FlightStart = 1, FlightEnd = 2 }; filter.IsValid().Should().BeTrue(); }
public void ShouldReturnAValidFilterOnDateStartEqualDateEnd() { var date = DateTime.Now; var filter = new FlightFilter { FilterType = FilterType.Date, DateStart = date, DateEnd = date }; filter.IsValid().Should().BeTrue(); }
public IHttpActionResult Post([FromBody] FlightFilter filter) { if (filter == null) { return(BadRequest("Invalid Filter")); } if (!filter.IsValid()) { return(BadRequest("Invalid Filter")); } dynamic flights = _flightProvider.GetFilteredFlights(filter); return(((List <Flight>)flights).Any() ? Ok(flights) : NotFound()); }
public List <Flight> GetFilteredFlights(FlightFilter filter) { if (!filter.IsValid()) { throw new InvalidFilterException(""); } var flights = GetAllFlights(); if (((int)filter.FilterType & (int)FilterType.Number) == (int)FilterType.Number) { flights = GetFlightsByNumber(flights, filter); } if (((int)filter.FilterType & (int)FilterType.Date) == (int)FilterType.Date) { flights = GetFlightsByDate(flights, filter); } if (((int)filter.FilterType & (int)FilterType.Aircraft) == (int)FilterType.Aircraft) { flights = GetFlightByAircraft(flights, filter); } if (((int)filter.FilterType & (int)FilterType.Airfield) == (int)FilterType.Airfield) { flights = GetFlightByAirfield(flights, filter); } if (((int)filter.FilterType & (int)FilterType.Launch) == (int)FilterType.Launch) { flights = GetFlightByLaunch(flights, filter); } if (((int)filter.FilterType & (int)FilterType.Crew) == (int)FilterType.Crew) { flights = GetFlightByCrew(flights, filter); } if (((int)filter.FilterType & (int)FilterType.Trace) == (int)FilterType.Trace) { flights = GetFlightsWithTraceFiles(flights); } return(flights); }
public void ShouldReturnAnInvalidFilter() { var filter = new FlightFilter(); filter.IsValid().Should().BeFalse(); }