public static IGameRule GameRuleToClass(Enum.GameRule gameRule) { IGameRule ruleType; switch (gameRule) { case Enum.GameRule.Age: ruleType = new Age(); break; case Enum.GameRule.Boredom: ruleType = new Boredom(); break; case Enum.GameRule.Hunger: ruleType = new Hunger(); break; case Enum.GameRule.Sleep: ruleType = new Sleep(); break; case Enum.GameRule.SleepDeprevation: ruleType = new SleepDeprivation(); break; case Enum.GameRule.Starvation: ruleType = new Starvation(); break; case Enum.GameRule.Munchies: ruleType = new Munchies(); break; case Enum.GameRule.Crazy: ruleType = new Crazy(); break; default: return(null); } return(ruleType); }
public void TestMunchies() { _tamagotchi.Boredom = 81; var munchies = new Munchies(); munchies.Execute(_tamagotchi); Assert.IsTrue(_tamagotchi.Statuses.Contains(Status.Munchies)); munchies.Execute(_tamagotchi); Assert.AreEqual(_tamagotchi.Statuses.Count(e => e == Status.Munchies), 1); _tamagotchi.Boredom = 70; munchies.Execute(_tamagotchi); Assert.IsFalse(_tamagotchi.Statuses.Any(e => e == Status.Munchies)); }