public async Task LoadDataTest() { string[] expectedDataUrls = new[] { "http://info.vroute.net/vatsim-data.txt", "http://data.vattastic.com/vatsim-data.txt", "http://vatsim-data.hardern.net/vatsim-data.txt", "http://wazzup.openaviationdata.com/vatsim/vatsim-data.txt" }; string[] expectedServerUrls = new[] { "http://info.vroute.net/vatsim-servers.txt", "http://data.vattastic.com/vatsim-servers.txt", "http://vatsim-data.hardern.net/vatsim-servers.txt", "http://wazzup.openaviationdata.com/vatsim/vatsim-servers.txt" }; string[] expectedMetarUrls = new[] { "http://metar.vatsim.net/metar.php" }; string[] expectedAtisUrls = new[] { "http://stats.vatsim.net/atis.html" }; string[] expectedUserUrls = new[] { "http://stats.vatsim.net/search_id.php" }; Mock <IVatsimStatusLoader> loader = new Mock <IVatsimStatusLoader>(MockBehavior.Strict); loader.Setup(l => l.LoadData(It.IsAny <string>())) .ReturnsAsync(NormalData); VatsimStatus status = new VatsimStatus(loader.Object); await status.Initialize(); Assert.That(status.GetAllDataUrls().Select(u => u.ToString()), Is.EquivalentTo(expectedDataUrls)); Assert.That(status.GetAllServerUrls().Select(u => u.ToString()), Is.EquivalentTo(expectedServerUrls)); Assert.That(status.GetAllMetarUrls().Select(u => u.ToString()), Is.EquivalentTo(expectedMetarUrls)); Assert.That(status.GetAllAtisUrls().Select(u => u.ToString()), Is.EquivalentTo(expectedAtisUrls)); Assert.That(status.GetAllUserUrls().Select(u => u.ToString()), Is.EquivalentTo(expectedUserUrls)); Assert.That(status.GetMessages(), Is.Empty); }
public async Task Clients__LoadDataTest() { VatsimStatus status = new VatsimStatus(new VatsimStatusLoader()); await status.Initialize(); VatsimData data = new VatsimData(new VatsimDataLoader(), status); IReadOnlyList <ClientData> clients = await data.GetClientData(); Assert.That(clients, Is.Not.Null); Assert.That(clients, Has.Count.EqualTo((await data.GetGeneralData()).NumConnectedClients)); }
public async Task LoadData__Messages() { string[] expected = new[] { "Message1", "Message2" }; Mock <IVatsimStatusLoader> loader = new Mock <IVatsimStatusLoader>(MockBehavior.Strict); loader.Setup(l => l.LoadData(It.IsAny <string>())) .ReturnsAsync(MessageData); VatsimStatus status = new VatsimStatus(loader.Object); await status.Initialize(); Assert.That(status.GetMessages(), Is.EquivalentTo(expected)); }
public async Task LoadData__MoveTo() { Mock <IVatsimStatusLoader> loader = new Mock <IVatsimStatusLoader>(MockBehavior.Strict); loader.Setup(l => l.LoadData("http://status.vatsim.net/status.txt")) .ReturnsAsync(MoveToData); loader.Setup(l => l.LoadData("http://MoveTo")) .ReturnsAsync(NormalData); VatsimStatus status = new VatsimStatus(loader.Object); await status.Initialize(); loader.Verify(l => l.LoadData("http://status.vatsim.net/status.txt"), Times.Once()); loader.Verify(l => l.LoadData("http://MoveTo"), Times.Once()); }
public async Task LoadData__EmptyData() { Mock <IVatsimStatusLoader> loader = new Mock <IVatsimStatusLoader>(MockBehavior.Strict); loader.Setup(l => l.LoadData(It.IsAny <string>())) .ReturnsAsync(string.Empty); VatsimStatus status = new VatsimStatus(loader.Object); await status.Initialize(); Assert.That(status.GetAllAtisUrls(), Is.Empty); Assert.That(status.GetAllDataUrls(), Is.Empty); Assert.That(status.GetAllMetarUrls(), Is.Empty); Assert.That(status.GetAllServerUrls(), Is.Empty); Assert.That(status.GetAllUserUrls(), Is.Empty); Assert.That(status.GetMessages(), Is.Empty); }
public async Task General__LoadDataTest() { VatsimStatus status = new VatsimStatus(new VatsimStatusLoader()); await status.Initialize(); VatsimData data = new VatsimData(new VatsimDataLoader(), status); DateTime utcNow = DateTime.UtcNow; GeneralData general = await data.GetGeneralData(); Assert.That(general, Is.Not.Null); Assert.That(general.AtisRefreshInterval, Is.GreaterThan(0)); Assert.That(general.LastUpdateUtc, Is.LessThan(utcNow)); Assert.That(general.NumConnectedClients, Is.GreaterThan(0)); Assert.That(general.ReloadUtc, Is.GreaterThan(utcNow)); Assert.That(general.Version, Is.Not.Null.Or.Empty); }