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); }
TechType ITechTypeHandlerInternal.AddTechType(Assembly modAssembly, string internalName, string displayName, string tooltip) { return(Singleton.AddTechType(modAssembly, internalName, displayName, tooltip, true)); }