public void UpdateTest() { // GameItem-Liste initialisieren GameItem.GameItemList = new System.Collections.Generic.LinkedList <IGameItem>(); // Neuen Spieler erzeugen (Accessor, das private Felder manipuliert werden müssen) Player_Accessor target = CreatePlayer_Accessor(); // Unverwundbarkeits-Timer setzen target.invincibleTime = 0.5f; // PowerUp hinzufügen Speedboost speedboost = new Speedboost(Vector2.Zero, Vector2.Zero); target.AddPowerUp(new ActivePowerUp(0.5f, PowerUpEnum.Speedboost, speedboost.Apply, speedboost.Remove)); // GameTime so anlegen, dass nach Update keine Unverwundbarkeit mehr aktiv sein sollte und das PowerUp ausgelaufen ist GameTime gameTime = new GameTime(new TimeSpan(0, 42, 42), new TimeSpan(0, 0, 1)); target.Update(gameTime); Assert.AreEqual(target.IsInvincible, false); Assert.AreEqual(target.ActivePowerUps.Count, 0); // GameItem-Liste zurücksetzen GameItem.GameItemList = null; }
// //Sie können beim Verfassen Ihrer Tests die folgenden zusätzlichen Attribute verwenden: // //Mit ClassInitialize führen Sie Code aus, bevor Sie den ersten Test in der Klasse ausführen. //[ClassInitialize()] //public static void MyClassInitialize(TestContext testContext) //{ //} // //Mit ClassCleanup führen Sie Code aus, nachdem alle Tests in einer Klasse ausgeführt wurden. //[ClassCleanup()] //public static void MyClassCleanup() //{ //} // //Mit TestInitialize können Sie vor jedem einzelnen Test Code ausführen. //[TestInitialize()] //public void MyTestInitialize() //{ //} // //Mit TestCleanup können Sie nach jedem einzelnen Test Code ausführen. //[TestCleanup()] //public void MyTestCleanup() //{ //} // #endregion internal virtual PowerUp CreatePowerUp() { // Stellvertretend für PowerUps ein Speedboost-PowerUp erzeugen, dass knapp über der unteren Grenze ist PowerUp target = new Speedboost(new Vector2(0.0f, CoordinateConstants.BottomBorder * 1.25f + 1.0f), GameItemConstants.PowerUpVelocity); return(target); }