public void RestoreExceptionTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Restore(); }
public void CollisionInvader_Test1() { LazerGun gun = new LazerGun(5, 15); Invader[,] invaders = new Invader[1, 2]; invaders[0, 1] = new Invader(5, 5, 15, 9); invaders[0, 1].Speed = 40; IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); while (invaders[0, 1].CanShot == 0) { invaders[0, 1].Update(208); } while (!p.isCollision(invaders[0, 1].EnemyBullet, gun)) { invaders[0, 1].Update(516); } p.CollisionInvader(invaders, 0, 1, gun); Assert.AreEqual(2, gun.NumberOfLives); }
public void PauseExceptionTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Pause(); }
public void CreateEnemyTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.CreateEnemyArray(-2, -2); }
public void InitExceptionTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(-2, -2, 0, 2); }
public void HideBulletTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); PrivateObject privateobj = new PrivateObject(p); p.Init(60, 50, 5, 7); Invader[,] inv = (Invader[, ])privateobj.GetField("_invadersArray"); for (var c = 0; c < 6; c++) { for (var i = 0; i < inv.GetLength(0); i++) { for (var j = 0; j < inv.GetLength(1); j++) { inv[i, j].Live = false; } } int count = 0; while (count != 10) { p.Update(KeyPress.Shot); count++; } p.TryChangeLevel(); if (c == 0) { Assert.AreEqual(35, inv[1, 1].Speed); } } }
public void ConstructorTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); Assert.IsFalse(p.IsExit); }
public void TryExitTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); PrivateObject privateobj = new PrivateObject(p); p.Init(60, 50, 5, 7); Invader[,] inv = (Invader[, ])privateobj.GetField("_invadersArray"); LazerGun gun = (LazerGun)privateobj.GetField("_gun"); for (var c = 0; c < 6; c++) { for (var i = 0; i < inv.GetLength(0); i++) { for (var j = 0; j < inv.GetLength(1); j++) { inv[i, j].Live = false; } } if (c <= 4) { p.TryChangeLevel(); } else { gun.Live = false; p.TryExitGame(); Assert.IsTrue(p.IsExit); } } }
public void Distance_When_Point_Is_Endpoint() { var strategy = new DistanceStrategy(); Assert.AreEqual(0, strategy.Distance(1, 0, 1, 0, 2, 0)); Assert.AreEqual(0, strategy.Distance(0, 2, 2, 0, 0, 2)); }
// Ostap: добавив клас ProcessingCommand для логічного групування команд з клавіатури static void Main(string[] args) { IDistanceStrategy d = new DistanceStrategy(); Process game = new Process(d); ConsoleDraw draw = new ConsoleDraw(); game.Draw += draw.Render; game.Show += draw.Show; game.Clear += Console.Clear; draw.StartScreen(); game.Init(60, 50, 7, 5); game.InputKey += ProcessingCommand.PressKey; while (true) { if (game.IsExit) { game.Draw -= draw.Render; game.Show -= draw.Show; game.Clear -= Console.Clear; game.InputKey -= ProcessingCommand.PressKey; if (game.Win) { draw.GameOverScreen("Congratulation! You are the Winner!", game.Score); } else { draw.GameOverScreen("Thanks for playing.", game.Score); } } } }
public void UpdScoreTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.UpdScore(20); Assert.AreEqual(20, p.Score); }
public void InputTest2() { bool methodCalled = false; IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); Assert.AreEqual(KeyPress.Wait, p.OnInputKey()); }
public void PauseTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); p.Pause(); Assert.AreEqual(Status.IsPaused, p.GameStatus); }
public void RestoreTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); p.Restore(); Assert.AreEqual(Status.IsRuning, p.GameStatus); }
public void Distance_Is_Correct_Negative() { var strategy = new DistanceStrategy(); // XAxis (slope = zero) to point [1,-1] Assert.AreEqual(1, strategy.Distance(1, -1, 0, 0, 2, 0)); // 1 up from XAxis (slope = zero) to point [1,-1] Assert.AreEqual(2, strategy.Distance(1, -1, 0, 1, 2, 1)); }
public void No_Streets_Returns_Nothing() { var strategy = new DistanceStrategy(); var repository = new StreetRepository(); var manager = new StreetManager(repository, strategy); var result = manager.GetClosest(0, 0); Assert.AreEqual(0, result.Count); }
public void InvaderWin_Test() { LazerGun gun = new LazerGun(5, 5); Invader invader = new Invader(5, 6, 20, 9); IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); bool a = p.InvaderWin(gun, invader); Assert.AreEqual(true, a); }
public void UpdateObjectTest1() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); p.InputKey += TestingKey; while (p.GameStatus != Status.IsPaused) { } Assert.IsTrue(p.GameStatus == Status.IsPaused); }
public void InputTest() { bool methodCalled = false; IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); p.InputKey += delegate { methodCalled = true; return(KeyPress.Shot); }; p.Update(p.OnInputKey()); Assert.IsTrue(methodCalled); }
public void ClearTest() { int methodCall = 0; IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); p.Clear += delegate { methodCall = 1; }; p.Render(); Assert.AreEqual(1, methodCall); }
public void Single_Street_Is_Found() { var strategy = new DistanceStrategy(); var repository = new StreetRepository(); var manager = new StreetManager(repository, strategy); repository.Add(new StreetDto { Name = "A", Start = new double[] { 1, 1 }, End = new double[] { 2, 2, } }); var result = manager.GetClosest(0, 0); Assert.AreEqual(1, result.Count); Assert.AreEqual("A", result[0]); }
public void RenderTest_2() { bool methodCalled = false; int methodCall = 0; IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); p.Update(KeyPress.Shot); p.Draw += delegate { methodCalled = true; }; p.Show += delegate { methodCall = 1; }; p.Render(); Assert.AreEqual(1, methodCall); }
public void Distance_Is_Correct_Vertical() { var strategy = new DistanceStrategy(); // YAxis (slope = infinite) to point [1, 1] Assert.AreEqual(1, strategy.Distance(1, 1, 0, 0, 0, 2)); // YAxis (slope = infinite) to point on line. Assert.AreEqual(0, strategy.Distance(0, 1, 0, 0, 0, 2)); // YAxis (slope = infinite) to point [1, 1] Assert.AreEqual(2, strategy.Distance(2, 1, 0, 0, 0, 4)); // 1 right of YAxis (slope = infinite) to point [2, 1] Assert.AreEqual(2, strategy.Distance(3, 1, 1, 0, 1, 2)); }
public void TryLevelTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); PrivateObject privateobj = new PrivateObject(p); p.Init(60, 50, 5, 7); Invader[,] inv = (Invader[, ])privateobj.GetField("_invadersArray"); for (var c = 0; c < 6; c++) { for (var i = 0; i < inv.GetLength(0); i++) { for (var j = 0; j < inv.GetLength(1); j++) { inv[i, j].Live = false; } } p.TryChangeLevel(); if (c == 0) { Assert.AreEqual(35, inv[1, 1].Speed); } else if (c == 1) { Assert.AreEqual(25, inv[1, 1].Speed); } else if (c == 2) { Assert.AreEqual(20, inv[1, 1].Speed); } else if (c == 3) { Assert.AreEqual(10, inv[1, 1].Speed); } else if (c == 4) { Assert.AreEqual(5, inv[1, 1].Speed); } else { Assert.IsTrue(p.Win); } } }
public void CollisionInvader_Test() { LazerGun gun = new LazerGun(5, 5); Invader[,] invaders = new Invader[1, 2]; Invader invader = new Invader(5, 6, 20, 9); invaders[0, 0] = invader; invaders[0, 1] = new Invader(5, 6, 10, 7); IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.CollisionInvader(invaders, 0, 1, gun); Assert.IsFalse(gun.Live); }
public void UpdateObjectTest() { IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); p.Init(60, 50, 5, 5); KeyPress k = KeyPress.Restore; p.InputKey += delegate { return(k); }; p.Pause(); if (p.GameStatus == Status.IsPaused) { while (p.GameStatus != Status.IsRuning) { } } Assert.IsTrue(p.GameStatus == Status.IsRuning); }
public void Distance_Is_Correct_To_Endpoint() { var strategy = new DistanceStrategy(); // Horizontal Assert.AreEqual(5, strategy.Distance(-3, 4, 0, 0, 2, 0)); Assert.AreEqual(5, strategy.Distance(3, 4, 0, 0, -2, 0)); Assert.AreEqual(5, strategy.Distance(-3, -4, 0, 0, 2, 0)); Assert.AreEqual(5, strategy.Distance(-2, -4, 1, 0, 3, 0)); // Vertical Assert.AreEqual(5, strategy.Distance(-3, -4, 0, 0, 0, 2)); Assert.AreEqual(5, strategy.Distance(-3, -4, 0, 0, 0, 2)); // Slope Assert.AreEqual(2, strategy.Distance(-2, 2, 2, 0, 0, 2)); Assert.AreEqual(2, strategy.Distance(4, 0, 2, 0, 0, 2)); }
public void Distance_Is_Correct() { var strategy = new DistanceStrategy(); // XAxis (slope = zero) to point [1,1] Assert.AreEqual(1, strategy.Distance(1, 1, 0, 0, 2, 0)); // XAxis (slope = zero) to point [1,1] Assert.AreEqual(1, strategy.Distance(1, 1, 0, 0, 4, 0)); // XAxis (slope = zero) to point on line. Assert.AreEqual(0, strategy.Distance(1, 0, 0, 0, 4, 0)); // 1 up from XAxis (slope = zero) to point [1, 2] Assert.AreEqual(1, strategy.Distance(1, 2, 0, 1, 2, 1)); // 1 up from XAxis (slope = zero) to point [1, 2] Assert.AreEqual(1, strategy.Distance(1, 2, 0, 1, 2, 1)); }
public void Multiple_Streets_Are_Found() { var strategy = new DistanceStrategy(); var repository = new StreetRepository(); var manager = new StreetManager(repository, strategy); // A horizontal line along the X axis from the origin to 2. repository.Add(new StreetDto { Name = "A", Start = new double[] { 0, 0 }, End = new double[] { 2, 0, } }); // A horizontal line 2 up from the X axis. repository.Add(new StreetDto { Name = "B", Start = new double[] { 0, 2 }, End = new double[] { 2, 2, } }); // A point on the Y axis 2 up from the origin. var result = manager.GetClosest(1, 1); // The top horizontal line should be returned because it is 1 unit from line B. Assert.AreEqual(2, result.Count); }
public void RenderTest_3() { int methodCall = 0; IDistanceStrategy d = new DistanceStrategy(); Process p = new Process(d); PrivateObject privateobj = new PrivateObject(p); p.Init(30, 24, 3, 3); Invader[,] inv = (Invader[, ])privateobj.GetField("_invadersArray"); while (!inv[0, 1].IsFirstShot()) { p.Update(0); inv[0, 1].Update(208); } p.Show += delegate { methodCall = 1; }; p.Render(); Assert.AreEqual(1, methodCall); }