internal Ship(string name, Vector2 position, float radius, Color color, IGraphicsFactory graphicsFactory, IShipComponentFactory shipComponentFactory) : base(position, radius, 1) { Name = name; Color = color; _controller = new NullShipController(); _energyStore = shipComponentFactory.CreateEnergyStore(); _shield = shipComponentFactory.CreateShield(this); _hull = shipComponentFactory.CreateHull(this); _thrusterArray = shipComponentFactory.CreateThrusterArray(this); _graphicsFactory = graphicsFactory; _arrows = new List<IArrow>(); }
public void SetUp() { _graphicsFactory = Substitute.For<IGraphicsFactory>(); _graphicsDevice = Substitute.For<IGraphicsDevice>(); _shipComponentFactory = Substitute.For<IShipComponentFactory>(); _energyStore = Substitute.For<IEnergyStore>(); _shield = Substitute.For<IShield>(); _hull = Substitute.For<IHull>(); _thrusterArray = Substitute.For<IThrusterArray>(); _controller = Substitute.For<IShipController>(); _shipComponentFactory.CreateEnergyStore().ReturnsForAnyArgs(_energyStore); _shipComponentFactory.CreateShield(Arg.Any<IShip>()).Returns(_shield); _shipComponentFactory.CreateHull(Arg.Any<IShip>()).Returns(_hull); _shipComponentFactory.CreateThrusterArray(Arg.Any<IShip>()).Returns(_thrusterArray); _position = new Vector2(12f, 5.5f); _ship = new Ship("TestShip", _position, _radius, Color.Goldenrod, _graphicsFactory, _shipComponentFactory); _ship.SetController(_controller); }