public void OnSecretsChangedEvent() { var game = new MockGame { CurrentGameType = GameType.GT_RANKED, CurrentFormat = Format.Wild }; var callbackCount = 0; var secretsManager = new SecretsManager(game, new MockArenaSettings()); secretsManager.OnSecretsChanged += secrets => callbackCount += 1; var entity = new Entity(0); entity.SetTag(GameTag.SECRET, 1); entity.SetTag(GameTag.CLASS, (int)CardClass.PALADIN); secretsManager.NewSecret(entity); Assert.AreEqual(1, callbackCount); secretsManager.Toggle(Paladin.Avenge); Assert.AreEqual(2, callbackCount); secretsManager.Exclude(new List <MultiIdCard> { Paladin.CompetitiveSpirit, Paladin.GetawayKodo }); Assert.AreEqual(3, callbackCount); secretsManager.Toggle(Paladin.Avenge); Assert.AreEqual(4, callbackCount); secretsManager.RemoveSecret(entity); Assert.AreEqual(5, callbackCount); secretsManager.Reset(); Assert.AreEqual(6, callbackCount); }