private void AddFailRecord(StatusRecorder r) { r.AddEntry( StatusRecorder.Severity.Critical, $"Failed to download {type.TrackString()}.", type); }
public void GetAllTracksAndAddToWptListTest() { // Arrange var wptList = WptListFactory.GetWptList(WptIdents); var recorder = new StatusRecorder(); var handler = new TrackHandler <NorthAtlanticTrack>( wptList, wptList.GetEditor(), new AirportManager(), new TrackInUseCollection()); // Act handler.GetAllTracks(DownloaderStub(), recorder); handler.AddToWaypointList(recorder); // Assert Assert.AreEqual(0, recorder.Records.Count); // Verify all tracks are added. AssertAllTracks(wptList); // Check one westbound track. AssertTrackC(wptList); // Check one eastbound track. AssertTrackZ(wptList); }
public void GetAllTracksAndAddToWptListTest() { // Arrange var wptList = WptListFactory.GetWptList(wptIdents); AddAirways(wptList); var recorder = new StatusRecorder(); var handler = new TrackHandler <PacificTrack>( wptList, wptList.GetEditor(), GetAirportList(), new TrackInUseCollection()); // Act handler.GetAllTracks(DownloaderStub(), recorder); handler.AddToWaypointList(recorder); // Assert Assert.AreEqual(0, recorder.Records.Count); // Verify all tracks are added. AssertAllTracks(wptList); // Check one westbound track. AssertTrackJ(wptList); // Check one eastbound track. AssertTrack11(wptList); // Check connection routes AssertDct(wptList, "DANNO", "BOOKE"); // In track 11 AssertDct(wptList, "BRINY", "ALCOA"); // In track J }
public void WhenMainRouteWptDoesNotExistShouldRecordFailure() { // Arrange var p1 = new Waypoint("P1", 0.0, 0.0); var p2 = new Waypoint("P2", 0.0, 2.0); var wptList = new WaypointList(); var route = new Route(); route.AddLastWaypoint(p1); route.AddLastWaypoint(p2, "DCT"); var nodes = new TrackNodes("A", "NATA", route, new List <WptPair>()); var recorder = new StatusRecorder(); var adder = new TrackAdder( wptList, wptList.GetEditor(), recorder, TrackType.Nats); // Act adder.AddToWaypointList(new[] { nodes }); // Assert Assert.AreEqual(1, recorder.Records.Count); }
public void GetAllTracksAndAddToWptListTest() { // Arrange var wptList = WptListFactory.GetWptList(wptIdents); AddAirways(wptList); var recorder = new StatusRecorder(); var handler = new TrackHandler <AusTrack>( wptList, wptList.GetEditor(), GetAirportList(), new TrackInUseCollection()); // Act handler.GetAllTracks(DownloaderStub(), recorder); handler.AddToWaypointList(recorder); // Assert Assert.AreEqual(0, recorder.Records.Count); // Verify all tracks are added. AssertAllTracks(wptList); // Check the tracks. AssertTrackMY14(wptList); AssertTrackBP14(wptList); }
/// <summary> /// Add the parsed tracks to WaypointList, if not added already. /// </summary> public void AddToWaypointList(StatusRecorder r) { if (InWptList == false) { new TrackAdder(wptList, editor, r, type).AddToWaypointList(nodes); tracksInUse.UpdateTracks(nodes, type); InWptList = true; } }
public AusotsParser( ITrackMessage data, StatusRecorder statusRecorder, AirportManager airportList) { allTxt = ((AusotsMessage)data).AllText; this.statusRecorder = statusRecorder; this.airportList = airportList; }
public TrackAdder( WaypointList wptList, WaypointListEditor editor, StatusRecorder recorder, TrackType type) { this.wptList = wptList; this.editor = editor; this.recorder = recorder; this.type = type; }
/// <summary> /// Load the tracks and undo previous edit to wptList. /// </summary> public void GetAllTracks(ITrackMessageProvider provider, StatusRecorder r) { try { GetTracks(provider, r); ReadMessage(r); } catch { } UndoEdit(); }
public void AfterClearShouldBeEmpty() { var sr = new StatusRecorder(); sr.AddEntry(StatusRecorder.Severity.Caution, "1", TrackType.Pacots); sr.AddEntry(StatusRecorder.Severity.Critical, "2", TrackType.Nats); sr.Clear(); Assert.AreEqual(0, sr.Records.Count); }
// @Throws private async Task GetTracksAsync(ITrackMessageProvider provider, StatusRecorder r) { try { Message = await provider.GetMessageAsync(); } catch { AddFailRecord(r); throw; } }
// @Throws private void GetTracks(ITrackMessageProvider provider, StatusRecorder r) { try { Message = provider.GetMessage(); } catch { AddFailRecord(r); throw; } }
public async Task GetAllTracksAsync(StatusRecorder r) { try { await GetTracksAsync(GetTrackDownloader <T>(), r); ReadMessage(r); } catch { } UndoEdit(); }
public void AddRecordTest() { var sr = new StatusRecorder(); sr.AddEntry(StatusRecorder.Severity.Caution, "1", TrackType.Pacots); var items = sr.Records; Assert.AreEqual(1, items.Count); Assert.IsTrue(items[0].Severity == StatusRecorder.Severity.Caution); Assert.IsTrue(items[0].Message == "1"); Assert.IsTrue(items[0].Type == TrackType.Pacots); }
// @Throws private List <T> Parse(StatusRecorder r) { try { return(GetParser <T>(Message, r, airportList).Parse()); } catch { r.AddEntry( StatusRecorder.Severity.Critical, $"Failed to parse {type.TrackString()}.", type); throw; } }
public static ITrackParser <T> GetParser <T>(ITrackMessage msg, StatusRecorder statusRecorder, AirportManager airportList) where T : Track { var type = GetTrackType <T>(); if (type == TrackType.Nats) { return((ITrackParser <T>) new NatsParser(msg, statusRecorder)); } else if (type == TrackType.Pacots) { return((ITrackParser <T>) new PacotsParser(msg, airportList)); } else if (type == TrackType.Ausots) { return((ITrackParser <T>) new AusotsParser(msg, statusRecorder, airportList)); } throw new ArgumentException(); }
// @Throws private void ReadMessage(StatusRecorder r) { var trks = Parse(r); var reader = new TrackReader <T>(wptList, airportList); nodes = new List <TrackNodes>(); foreach (var i in trks) { try { nodes.Add(reader.Read(i)); } catch { r.AddEntry( StatusRecorder.Severity.Caution, $"Unable to interpret track {i.Ident}.", type); } } }
public NatsParser(ITrackMessage message, StatusRecorder statusRecorder) { this.message = (NatsMessage)message; this.statusRecorder = statusRecorder; }
public void ChangeSize(Size size) { _width = size.Width; _count = size.Width * size.Height; _statusRecorder = new StatusRecorder(size.Width * size.Height); }
public void NewRecorderShouldBeEmpty() { var sr = new StatusRecorder(); Assert.AreEqual(0, sr.Records.Count); }
/// <summary> /// Download tracks, parse all track messages and undo previous edit to wptList. /// </summary> public void GetAllTracks(StatusRecorder r) { GetAllTracks(GetTrackDownloader <T>(), r); }