示例#1
0
        public void VirtualMethods_DefaultBeahviors()
        {
            var pdaItem = new SimpleTestPdaItem();

            Assert.AreEqual(TechType.None, pdaItem.RequiredForUnlock);
            Assert.IsTrue(pdaItem.UnlockedAtStart);
            Assert.AreEqual("NotificationBlueprintUnlocked", pdaItem.DiscoverMessageResolved);
        }
示例#2
0
        public void Patch_EventsInvoked()
        {
            // ARRANGE
            const TechType createdTechType = TechType.Accumulator;

            IPrefabHandler           mockPrefabHandler    = Substitute.For <IPrefabHandler>();
            ISpriteHandler           mockSpriteHandler    = Substitute.For <ISpriteHandler>();
            ITechTypeHandlerInternal mockTechTypeHandler  = Substitute.For <ITechTypeHandlerInternal>();
            ICraftDataHandler        mockCraftDataHandler = Substitute.For <ICraftDataHandler>();
            IKnownTechHandler        mockKnownTechHandler = Substitute.For <IKnownTechHandler>();

            mockTechTypeHandler
            .AddTechType(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <bool>())
            .Returns(createdTechType);

            var techData = new TechData();

            var pdaItem = new SimpleTestPdaItem
            {
                PrefabHandler    = mockPrefabHandler,
                SpriteHandler    = mockSpriteHandler,
                TechTypeHandler  = mockTechTypeHandler,
                CraftDataHandler = mockCraftDataHandler,
                KnownTechHandler = mockKnownTechHandler,
                TechDataToReturn = techData,
            };

            // ACT
            pdaItem.Patch();

            // ASSERT
            mockCraftDataHandler.Received(1).SetTechData(createdTechType, techData);
            mockCraftDataHandler.Received(1).AddToGroup(TechGroup.Cyclops, TechCategory.Cyclops, createdTechType);
            mockKnownTechHandler.DidNotReceiveWithAnyArgs();
            mockTechTypeHandler.Received(1).AddTechType(Arg.Any <string>(), "classId", "friendlyName", "description", true);
        }