public void ShipWithNoControlHasNoAcceleration() { var engine = new NuclearEngine(1000, 1000); var tank = new FuelTank(7500); var ship = new Ship("ship", new FixedLocation(0, 0), engine, tank); Assert.AreEqual(0, ship.Acceleration); }
public void ShipWithoutFuelHasNoAcceleration() { var bridge = new Bridge(100, 1000); var engine = new NuclearEngine(1000, 1000); var ship = new Ship("ship", new FixedLocation(0, 0), bridge, engine); Assert.AreEqual(0, ship.Acceleration); }
public void ShipWithBridgeAndFuelAndEngineHasAcceleration() { var bridge = new Bridge(100, 1000); var engine = new NuclearEngine(1000, 1000); var tank = new FuelTank(7500); var ship = new Ship("ship", new FixedLocation(0, 0), bridge, engine, tank); Assert.AreNotEqual(0, ship.Acceleration); }
public void AccelerationIsThrustDividedByMass() { var bridge = new Bridge(100, 1000); var engine = new NuclearEngine(1000, 1000); var tank = new FuelTank(7500); var ship = new Ship("ship", new FixedLocation(0, 0), bridge, engine, tank); var mass = ship.Mass; var thrust = ship.Parts.Sum(p => p.Thrust); Assert.AreEqual(ship.Acceleration, thrust / mass); }
private static Ship SetupCarrier() { var carrierBridge = new Bridge(2000, 100); var carrierFuelTank = new FuelTank(60000); var carrierEngine1 = new NuclearEngine(10000, 1000); var carrierEngine2 = new NuclearEngine(10000, 1000); var carrierParts = new List <Part>() { carrierBridge, carrierFuelTank, carrierEngine1, carrierEngine2 }; var carrier = new Ship("Carrier", new FixedLocation(100 * BILLION, 0), carrierParts); return(carrier); }