コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }