Esempio n. 1
0
        public void TestJournalModulePurchasedHandlingMinimalShip()
        {
            string       line   = "{ \"timestamp\":\"2018-12-25T22:55:11Z\", \"event\":\"ModuleBuy\", \"Slot\":\"Military01\", \"BuyItem\":\"$int_guardianshieldreinforcement_size5_class2_name;\", \"BuyItem_Localised\":\"Guardian Shield Reinforcement\", \"MarketID\":128666762, \"BuyPrice\":873402, \"Ship\":\"federation_corvette\", \"ShipID\":119 }";
            List <Event> events = JournalMonitor.ParseJournalEntry(line);

            Assert.AreEqual(1, events.Count);
            ModulePurchasedEvent @event = (ModulePurchasedEvent)events[0];

            Assert.IsNotNull(@event);
            Assert.IsInstanceOfType(@event, typeof(ModulePurchasedEvent));

            Assert.AreEqual(119, (int)@event.shipid);
            Assert.IsNotNull(@event.slot);
            Assert.IsNotNull(@event.buymodule);

            PrivateObject privateObject = new PrivateObject(new ShipMonitor());

            Ship ship = ShipDefinitions.FromModel(@event.ship);

            ship.LocalId = (int)@event.shipid;
            object[] moduleArgs = new object[] { ship, @event.slot, @event.buymodule };
            privateObject.Invoke("AddModule", moduleArgs);

            foreach (Compartment compartment in ship.compartments)
            {
                if (compartment?.name == "Military01")
                {
                    Assert.AreEqual("Guardian Shield Reinforcement", compartment.module?.invariantName);
                }
            }
        }
Esempio n. 2
0
        public void TestJournalModuleSoldHandlingMinimalShip()
        {
            string               line   = "{ \"timestamp\":\"2018-12-25T22:55:11Z\", \"event\":\"ModuleBuy\", \"Slot\":\"Slot01_Size7\", \"BuyItem\":\"$int_guardianshieldreinforcement_size5_class2_name;\", \"BuyItem_Localised\":\"Guardian Shield Reinforcement\", \"MarketID\":128666762, \"BuyPrice\":873402, \"Ship\":\"federation_corvette\", \"ShipID\":119 }";
            List <Event>         events = JournalMonitor.ParseJournalEntry(line);
            ModulePurchasedEvent @event = (ModulePurchasedEvent)events[0];

            PrivateObject privateObject = new PrivateObject(new ShipMonitor());

            Ship ship = ShipDefinitions.FromModel(@event.ship);

            ship.LocalId = (int)@event.shipid;
            string slot   = @event.slot;
            Module module = @event.buymodule;

            object[] moduleArgs = new object[] { ship, slot, module };
            privateObject.Invoke("AddModule", moduleArgs);

            // now sell the module
            moduleArgs = new object[] { ship, slot, null };
            privateObject.Invoke("RemoveModule", moduleArgs);
            foreach (Compartment compartment in ship.compartments)
            {
                if (compartment?.name == "Military01")
                {
                    Assert.IsNull(compartment.module);
                }
            }
        }
Esempio n. 3
0
        public void TestModulePurchasedEvent()
        {
            string               line   = @"{ ""timestamp"":""2018 - 07 - 24T05: 49:15Z"", ""event"":""ModuleBuy"", ""Slot"":""TinyHardpoint1"", ""BuyItem"":""$hpt_crimescanner_size0_class3_name;"", ""BuyItem_Localised"":""K-Warrant Scanner"", ""MarketID"":3223343616, ""BuyPrice"":101025, ""Ship"":""krait_mkii"", ""ShipID"":81 }";
            List <Event>         events = JournalMonitor.ParseJournalEntry(line);
            ModulePurchasedEvent @event = (ModulePurchasedEvent)events[0];

            Assert.AreEqual("hpt_crimescanner_size0_class3", @event.buymodule.EDName.ToLowerInvariant());
            Assert.AreEqual(3223343616, @event.marketId);
            Assert.AreEqual(101025, @event.buyprice);
            Assert.IsNull(@event.sellmodule);
            Assert.IsNull(@event.sellprice);
            Assert.AreEqual("Krait Mk. II", @event.ship);
            Assert.AreEqual(81, @event.shipid);
        }