public void Reloading_MicroWarpDrive_Test() { var server = EnvironmentGlobal.CreateGameServer("Reloading"); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var module = spaceship.GetPropulsionModules().First(); Assert.AreEqual(2.0f, module.Reloading); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); Assert.AreEqual(1, server.Commands.Count); Assert.AreEqual(7, gameSession.GetCelestialObject(spaceship.Id).Speed); server.TurnCalculation(1); gameSession = EnvironmentGlobal.GetSession(server); spaceship = gameSession.GetPlayerSpaceShip(); module = spaceship.GetPropulsionModules().First(); Assert.AreEqual(0.05, module.Reloading); server.TurnCalculation(5); module = EnvironmentGlobal.GetSessionServerSide(server).GetPlayerSpaceShip().GetPropulsionModules().First(); Assert.AreEqual(0.3, module.Reloading); }
public void AddCommandsGeneral_Test() { var server = EnvironmentGlobal.CreateGameServer("CommandsTests"); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var module = spaceship.GetPropulsionModules().First(); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); Assert.AreEqual(1, server.Commands.Count); server.TurnCalculation(1); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); Assert.AreEqual(0, server.Commands.Count); server.TurnCalculation(5); Assert.AreEqual(0, server.Commands.Count); server.TurnCalculation(1); server.Wait(5); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); Assert.AreEqual(1, server.Commands.Count); server.TurnCalculation(1); }
public void LinearMovementCalculationTest() { var server = EnvironmentGlobal.CreateGameServer("Map_OneShip"); var gameSession = EnvironmentGlobal.GetSession(server); var spaceShip = gameSession.GetCelestialObject(gameSession.GetCelestialObjects()[0].Id); var position = spaceShip.GetLocation(); Assert.AreEqual(1, gameSession.GetCelestialObjects().Count); Assert.AreEqual(new PointF(10000, 10000), position); server.TurnCalculation(); gameSession = EnvironmentGlobal.GetSession(server); position = gameSession.GetCelestialObject(gameSession.GetCelestialObjects()[0].Id).GetLocation(); Assert.AreEqual(new PointF((float)10000.35, 10000), position); for (var i = 0; i < 19; i++) { server.TurnCalculation(); } gameSession = EnvironmentGlobal.GetSession(server); position = gameSession.GetCelestialObject(gameSession.GetCelestialObjects()[0].Id).GetLocation(); Assert.AreEqual(new PointF((float)10006.9922, 10000), position); }
public void Missile_Test() { var settings = new EngineSettings { DebugProperties = new DebugProperties(true, true) }; var server = EnvironmentGlobal.CreateGameServer("CommandsTests_Weapon", settings); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); Assert.AreEqual(2, spaceship.Modules[1].Skills.Count); }
public void PropulsionModule_Braking_Test() { var server = EnvironmentGlobal.CreateGameServer("CommandsTests"); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var module = spaceship.GetPropulsionModules().First(); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); Assert.AreEqual(1, server.Commands.Count); Assert.AreEqual(7, gameSession.GetCelestialObject(spaceship.Id).Speed); server.TurnCalculation(1); gameSession = EnvironmentGlobal.GetSession(server); Assert.AreEqual(6.975, Math.Round(gameSession.GetCelestialObject(spaceship.Id).Speed, 3)); Assert.AreEqual(0, server.Commands.Count); Assert.AreEqual(1, server.GetHistoryCommands(server.SessionId, spaceship.Id).Count); server.TurnCalculation(1); // Add command for not reloaded module server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); server.TurnCalculation(1); Assert.AreEqual(0, server.Commands.Count); server.Wait(5); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Braking)); Assert.AreEqual(1, server.Commands.Count); server.Wait(5); Assert.AreEqual(0, server.Commands.Count); Assert.AreEqual(2, server.GetHistoryCommands(server.SessionId, spaceship.Id).Count); Assert.AreEqual(CommandTypes.StopShip, server.GetHistoryCommands(server.SessionId, spaceship.Id)[0].Type); }
public void TurnRecalculation_Test() { var server = EnvironmentGlobal.CreateGameServer("General"); server.TurnCalculation(1); var gameSession = EnvironmentGlobal.GetSession(server); Assert.AreEqual(1, gameSession.Turn); server.TurnCalculation(5); gameSession = EnvironmentGlobal.GetSession(server); Assert.AreEqual(6, gameSession.Turn); }
public void GenerateNpcShip_Test() { var settings = new EngineSettings { DebugProperties = new DebugProperties(true, true) }; var server = EnvironmentGlobal.CreateGameServer("General", settings); server.EnableDebugMode(); var gameSession = EnvironmentGlobal.GetSession(server); var result = CelestialObjectsFactory.GenerateNpcShip(gameSession, 12, 12, 1).ToSpaceship(); Assert.IsTrue(result.Id > 0); Assert.AreEqual(4, result.Modules.Count); Assert.AreEqual(6, result.MaxSpeed); }
public void ToClientTest() { var server = EnvironmentGlobal.CreateGameServer("ConvertTests"); Assert.AreEqual(2, EnvironmentGlobal.GetSession(server).GetCelestialObjects().Count); var gameSession = EnvironmentGlobal.GetSession(server); Assert.AreEqual(2, gameSession.GetCelestialObjects().Count); server.TurnCalculation(2); Assert.AreEqual(1, EnvironmentGlobal.GetSessionServerSide(server).ScenarioEvents.Count); server.TurnCalculation(10); Assert.AreEqual(0, EnvironmentGlobal.GetSession(server).ScenarioEvents.Count); }
public void Explosive_Integration_Test() { var settings = new EngineSettings { DebugProperties = new DebugProperties(true, true) }; var server = EnvironmentGlobal.CreateGameServer("CommandsTests_Weapon", settings); server.EnableDebugMode(); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var targetSpacecraft = gameSession.GetCelestialObject(1000348945).ToSpaceship(); var module = spaceship.GetWeaponModules().First(); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); Assert.AreEqual(1, server.Commands.Count); Assert.AreEqual(200, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.TurnCalculation(1); gameSession = EnvironmentGlobal.GetSession(server); var explosives = gameSession.CelestialObjects.Where(obj => obj.OwnerId == 5005 && obj is Explosion).ToList(); Assert.AreEqual(1, explosives.Count); server.TurnCalculation(1); explosives = gameSession.CelestialObjects.Where(obj => obj.OwnerId == 5005 && obj is Explosion).ToList(); Assert.AreEqual(1, explosives.Count); gameSession = EnvironmentGlobal.Turn(20); explosives = gameSession.CelestialObjects.Where(obj => obj.OwnerId == 5005 && obj is Explosion).ToList(); Assert.AreEqual(0, explosives.Count); }
public void MouseClickOnObjectAndChangeSelectedObject_Test() { var server = EnvironmentGlobal.CreateGameServer("OuterSpace"); var gameSession = EnvironmentGlobal.GetSession(server); var outerSpace = new OuterSpace(); var isChangeSelectedObject = false; outerSpace.OnChangeSelectedObject += (e) => { Assert.AreEqual(e, 5006); isChangeSelectedObject = true; }; outerSpace.Refresh(gameSession, new System.Drawing.PointF(10101, 10201), MouseArguments.LeftClick); Assert.IsTrue(isChangeSelectedObject); }
public void PropulsionModule_TurnLeft_Test() { var server = EnvironmentGlobal.CreateGameServer("CommandsTests"); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var module = spaceship.GetPropulsionModules().First(); double turnRotationSpeed = MobilityInDegrees / (new EngineSettings().UnitsPerSecond *module.ReloadTime); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.TurnLeft)); Assert.AreEqual(1, server.Commands.Count); server.TurnCalculation(1); gameSession = EnvironmentGlobal.GetSession(server); spaceship = gameSession.GetPlayerSpaceShip(); Assert.AreEqual(90 - turnRotationSpeed, spaceship.Direction); // Reloading time server.Wait(3); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.TurnLeft)); server.TurnCalculation(1); spaceship = EnvironmentGlobal.GetSession(server).GetPlayerSpaceShip(); Assert.AreEqual(80 - 1 * turnRotationSpeed, spaceship.Direction); server.TurnCalculation(1); spaceship = EnvironmentGlobal.GetSession(server).GetPlayerSpaceShip(); Assert.AreEqual(80 - 2 * turnRotationSpeed, spaceship.Direction); }
public void LightMissileLauncherTest() { var settings = new EngineSettings { DebugProperties = new DebugProperties(true, true) }; var server = EnvironmentGlobal.CreateGameServer("CommandsTests_Weapon", settings); server.EnableDebugMode(); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var lightMissile = spaceship.Modules[1] as LightMissileLauncher; Assert.IsFalse(lightMissile is null); Assert.AreEqual(500, lightMissile.Range); Assert.AreEqual(0.7, lightMissile.Efficiency); }
public void MouseClickOnObjectAndChangeActiveObject_Negative_Test() { var server = EnvironmentGlobal.CreateGameServer("OuterSpace"); var gameSession = EnvironmentGlobal.GetSession(server); var outerSpace = new OuterSpace(); var isChangeActiveObject = false; outerSpace.OnChangeActiveObject += (e) => { if (e > 0) { isChangeActiveObject = true; } }; outerSpace.Refresh(gameSession, new System.Drawing.PointF(9101, 9201), MouseArguments.Move); Assert.IsFalse(isChangeActiveObject); }
public void GameSession_GetCelestialObjectsByDistance_Test() { var server = EnvironmentGlobal.CreateGameServer("OuterSpace"); var gameSession = EnvironmentGlobal.GetSession(server); var result = gameSession.GetCelestialObjectsByDistance(new System.Drawing.PointF(10030, 10030), 20); Assert.AreEqual(0, result.Count); result = gameSession.GetCelestialObjectsByDistance(new System.Drawing.PointF(10000, 10000), 20); Assert.AreEqual(1, result.Count); result = gameSession.GetCelestialObjectsByDistance(new System.Drawing.PointF(10030, 10030), 100); Assert.AreEqual(1, result.Count); result = gameSession.GetCelestialObjectsByDistance(new System.Drawing.PointF(10030, 10030), 800); Assert.AreEqual(2, result.Count); }
public void RequestGameSessionTest() { var server = EnvironmentGlobal.CreateGameServer("General"); Assert.AreEqual(1, EnvironmentGlobal.GetSession(server).GetCelestialObjects().Count); }
public void WeaponModule_Shot_Test() { var settings = new EngineSettings { DebugProperties = new DebugProperties(true, true) }; var server = EnvironmentGlobal.CreateGameServer("CommandsTests_Weapon", settings); server.EnableDebugMode(); var gameSession = EnvironmentGlobal.GetSession(server); var spaceship = gameSession.GetPlayerSpaceShip(); var targetSpacecraft = gameSession.GetCelestialObject(1000348945).ToSpaceship(); var module = spaceship.GetWeaponModules().First(); IDebugProperties debug = new DebugProperties(true, true); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); Assert.AreEqual(1, server.Commands.Count); Assert.AreEqual(200, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); spaceship = gameSession.GetPlayerSpaceShip(); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(0, server.Commands.Count); Assert.AreEqual(170, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.Wait(5); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(140, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(110, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(80, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(50, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(20, targetSpacecraft.Shields); Assert.AreEqual(false, targetSpacecraft.IsDestroyed); server.Command(server.SessionId, ModuleCommand.ToJson(gameSession, module.Shot, 1000348945, ((IModule)module).Id, 1)); server.TurnCalculation(10); gameSession = EnvironmentGlobal.GetSession(server); targetSpacecraft = gameSession.GetCelestialObject(1000348945, false).ToSpaceship(); Assert.AreEqual(true, targetSpacecraft.IsDestroyed); }