예제 #1
0
        public void TestFactions()
        {
            // Test factions data
            JObject        response   = DeserializeJsonResource <JObject>(Resources.edsmFactions);
            string         systemName = (string)response["name"];
            List <Faction> factions   = fakeEdsmService.ParseStarMapFactions(response, systemName);

            Assert.IsNotNull(factions);

            // Test The Dark Wheel
            Faction faction = factions.Find(s => s.name == "The Dark Wheel");

            Assert.AreEqual(702, faction.EDSMID);
            Assert.AreEqual("Independent", faction.Allegiance.invariantName);
            Assert.AreEqual("Democracy", faction.Government.invariantName);
            Assert.AreEqual(49.8M, faction.presences.FirstOrDefault(p => p.systemName == systemName)?.influence);
            Assert.AreEqual("Boom", faction.presences.FirstOrDefault(p => p.systemName == systemName)?.FactionState?.invariantName);
            Assert.IsNotNull(faction.isplayer);
            Assert.IsFalse((bool)faction.isplayer);
            Assert.AreEqual(1539928089, faction.updatedat);

            // Test The Pilots Federation
            faction = factions.Find(s => s.name == "The Pilots Federation");
            Assert.AreEqual(61, faction.EDSMID);
            Assert.AreEqual("Independent", faction.Allegiance.invariantName);
            Assert.AreEqual("Democracy", faction.Government.invariantName);
            Assert.AreEqual(0M, faction.presences.FirstOrDefault(p => p.systemName == systemName)?.influence);
            Assert.AreEqual("None", faction.presences.FirstOrDefault(p => p.systemName == systemName)?.FactionState?.invariantName);
            Assert.IsNotNull(faction.isplayer);
            Assert.IsFalse((bool)faction.isplayer);
            Assert.AreEqual(1539923616, faction.updatedat);

            // Test LTT 4487 Industry
            faction = factions.Find(s => s.name == "LTT 4487 Industry");
            Assert.AreEqual(434, faction.EDSMID);
            Assert.AreEqual("Federation", faction.Allegiance.invariantName);
            Assert.AreEqual("Corporate", faction.Government.invariantName);
            Assert.AreEqual(26.1M, faction.presences.FirstOrDefault(p => p.systemName == systemName)?.influence);
            Assert.AreEqual("None", faction.presences.FirstOrDefault(p => p.systemName == systemName)?.FactionState?.invariantName);
            Assert.IsNotNull(faction.isplayer);
            Assert.IsFalse((bool)faction.isplayer);
            Assert.AreEqual(1539928985, faction.updatedat);
        }