public static void ControlRod_ClassInitialize(TestContext context) { _surveyorMock = Substitute.For <ISurveyor>(); _ricochetMock = Substitute.For <IInitializableRicochet>(); _stateMock = Substitute.For <IRodState>(); _rodType = eRod.Defence; }
/// <summary> /// Initialization Using Configuration file /// </summary> public void Initialize() { if (!IsInitialized) { _rodXCoordinate = Configuration.Attributes.GetValue <int>(_rodType.ToString()); _minSectorWidth = Configuration.Attributes.GetValue <int>(Configuration.Names.TABLE_RODS_DIST); _sectorFactor = Configuration.Attributes.GetValue <double>(Configuration.Names.SECTOR_FACTOR); _playerDistance = Configuration.Attributes.GetPlayersDistancePerRod(_rodType); _playerCount = Configuration.Attributes.GetPlayersCountPerRod(_rodType); _offsetY = Configuration.Attributes.GetPlayersOffsetYPerRod(_rodType); _stopperDistance = Configuration.Attributes.GetRodDistanceBetweenStoppers(_rodType); _bestEffort = Configuration.Attributes.GetFirstPlayerBestEffort(_rodType); _predictIntersectionTimespan = Configuration.Attributes.GetValue <int>(Configuration.Names.KEY_ROD_INTERSECTION_MAX_TIMESPAN_SEC); MinimumPossibleStartStopperY = ROD_STOPPER_MIN; MaximumPossibleStartStopperY = TABLE_HEIGHT - ROD_STOPPER_MIN - _stopperDistance; if (State == null) { State = new RodState(MinimumPossibleStartStopperY, MaximumPossibleStartStopperY); } DynamicSector = _minSectorWidth; IsInitialized = true; } }
public static void ControlRod_ClassInitialize(TestContext context) { _surveyorMock = Substitute.For<ISurveyor>(); _ricochetMock = Substitute.For<IInitializableRicochet>(); _stateMock = Substitute.For<IRodState>(); _rodType = eRod.Defence; }
/// <summary> /// Initialization with given parameters /// </summary> /// <param name="rodXCoordinate">X Coordinate of rod (in MM)</param> /// <param name="minSectorWidth">Minimal sector width (in MM)</param> /// <param name="sectorFactor">Sector factor to change width accoroding to speed</param> /// <param name="playerDistance">Distance beetween 2 player on rod (in MM)</param> /// <param name="playerCount">Player count on current rod (in MM)</param> /// <param name="offsetY">Distance between stopper and first player on rod (in MM)</param> /// <param name="stopperDistance">Distance between start and end stoppers of current rod (in MM)</param> /// <param name="bestEffort">Coordinate (in MM) for first player to be on in BEST_EFFORT state</param> /// <param name="intersectionPredictionTimespan">Maximal TimeSpan to predict intersections with rod (in seconds)</param> public void Initialize(int rodXCoordinate, int minSectorWidth, double sectorFactor, int playerDistance, int playerCount, int offsetY, int stopperDistance, int bestEffort, int intersectionPredictionTimespan) { if (!IsInitialized) { _rodXCoordinate = rodXCoordinate; _minSectorWidth = minSectorWidth; _sectorFactor = sectorFactor; _playerDistance = playerDistance; _playerCount = playerCount; _offsetY = offsetY; _stopperDistance = stopperDistance; _bestEffort = bestEffort; _predictIntersectionTimespan = intersectionPredictionTimespan; DynamicSector = _minSectorWidth; MinimumPossibleStartStopperY = ROD_STOPPER_MIN; MaximumPossibleStartStopperY = TABLE_HEIGHT - ROD_STOPPER_MIN - _stopperDistance; if (State == null) { State = new RodState(MinimumPossibleStartStopperY, MaximumPossibleStartStopperY); } IsInitialized = true; } }
/// <summary> /// Control Rod Constructor /// </summary> /// <param name="rodType">Rod Type to construct</param> /// <param name="surveyor">Used in for range check vector intersection calculation</param> /// <param name="ricochetCalc">Used for ricochet in vector intersection calculation</param> /// <param name="tableHeight">Foosbot table height - rod length (Y) in mm</param> /// <param name="rodStopperMin">Minimal point can be reached by stopper (Y) in mm</param> /// <param name="rodState">Rod state will be created in initialization method if passed null</param> public ControlRod(eRod rodType, ISurveyor surveyor, IInitializableRicochet ricochetCalc, int tableHeight = -1, int rodStopperMin = -1, IRodState rodState = null) { _rodType = rodType; _surveyor = surveyor; _vectorUtils = ricochetCalc; State = rodState; TABLE_HEIGHT = (tableHeight > 0) ? tableHeight : Configuration.Attributes.GetValue <int>(Configuration.Names.TABLE_HEIGHT); ROD_STOPPER_MIN = (rodStopperMin > 0) ? rodStopperMin : Configuration.Attributes.GetValue <int>(Configuration.Names.KEY_ROD_START_Y); }
public static void TestInitialize(TestContext context) { _rodState = new RodState(MIN_LIMIT, MAX_LIMIT); }
/// <summary> /// Initialization Using Configuration file /// </summary> public void Initialize() { if (!IsInitialized) { _rodXCoordinate = Configuration.Attributes.GetValue<int>(_rodType.ToString()); _minSectorWidth = Configuration.Attributes.GetValue<int>(Configuration.Names.TABLE_RODS_DIST); _sectorFactor = Configuration.Attributes.GetValue<double>(Configuration.Names.SECTOR_FACTOR); _playerDistance = Configuration.Attributes.GetPlayersDistancePerRod(_rodType); _playerCount = Configuration.Attributes.GetPlayersCountPerRod(_rodType); _offsetY = Configuration.Attributes.GetPlayersOffsetYPerRod(_rodType); _stopperDistance = Configuration.Attributes.GetRodDistanceBetweenStoppers(_rodType); _bestEffort = Configuration.Attributes.GetFirstPlayerBestEffort(_rodType); _predictIntersectionTimespan = Configuration.Attributes.GetValue<int>(Configuration.Names.KEY_ROD_INTERSECTION_MAX_TIMESPAN_SEC); _useDynamicSector = Configuration.Attributes.GetValue<bool>(Configuration.Names.KEY_USE_DYNAMIC_SECTOR); MinimumPossibleStartStopperY = ROD_STOPPER_MIN; MaximumPossibleStartStopperY = TABLE_HEIGHT - ROD_STOPPER_MIN - _stopperDistance; if (State == null) { State = new RodState(MinimumPossibleStartStopperY, MaximumPossibleStartStopperY); } DynamicSector = _minSectorWidth; IsInitialized = true; } }
/// <summary> /// Initialization with given parameters /// </summary> /// <param name="rodXCoordinate">X Coordinate of rod (in MM)</param> /// <param name="minSectorWidth">Minimal sector width (in MM)</param> /// <param name="sectorFactor">Sector factor to change width accoroding to speed</param> /// <param name="playerDistance">Distance beetween 2 player on rod (in MM)</param> /// <param name="playerCount">Player count on current rod (in MM)</param> /// <param name="offsetY">Distance between stopper and first player on rod (in MM)</param> /// <param name="stopperDistance">Distance between start and end stoppers of current rod (in MM)</param> /// <param name="bestEffort">Coordinate (in MM) for first player to be on in BEST_EFFORT state</param> /// <param name="intersectionPredictionTimespan">Maximal TimeSpan to predict intersections with rod (in seconds)</param> public void Initialize(int rodXCoordinate, int minSectorWidth, double sectorFactor, int playerDistance, int playerCount, int offsetY, int stopperDistance, int bestEffort, int intersectionPredictionTimespan) { if (!IsInitialized) { _rodXCoordinate = rodXCoordinate; _minSectorWidth = minSectorWidth; _sectorFactor = sectorFactor; _playerDistance = playerDistance; _playerCount = playerCount; _offsetY = offsetY; _stopperDistance = stopperDistance; _bestEffort = bestEffort; _predictIntersectionTimespan = intersectionPredictionTimespan; DynamicSector = _minSectorWidth; MinimumPossibleStartStopperY = ROD_STOPPER_MIN; MaximumPossibleStartStopperY = TABLE_HEIGHT - ROD_STOPPER_MIN - _stopperDistance; if (State == null) { State = new RodState(MinimumPossibleStartStopperY, MaximumPossibleStartStopperY); } IsInitialized = true; } }
/// <summary> /// Control Rod Constructor /// </summary> /// <param name="rodType">Rod Type to construct</param> /// <param name="surveyor">Used in for range check vector intersection calculation</param> /// <param name="ricochetCalc">Used for ricochet in vector intersection calculation</param> /// <param name="tableHeight">Foosbot table height - rod length (Y) in mm</param> /// <param name="rodStopperMin">Minimal point can be reached by stopper (Y) in mm</param> /// <param name="rodState">Rod state will be created in initialization method if passed null</param> public ControlRod(eRod rodType, ISurveyor surveyor, IInitializableRicochet ricochetCalc, int tableHeight = -1, int rodStopperMin = -1, IRodState rodState = null) { _rodType = rodType; _surveyor = surveyor; _vectorUtils = ricochetCalc; State = rodState; TABLE_HEIGHT = (tableHeight > 0) ? tableHeight : Configuration.Attributes.GetValue<int>(Configuration.Names.TABLE_HEIGHT); ROD_STOPPER_MIN = (rodStopperMin > 0) ? rodStopperMin : Configuration.Attributes.GetValue<int>(Configuration.Names.KEY_ROD_START_Y); }
public static void TestInitialize(TestContext context) { _rodState = new RodState(MIN_LIMIT, MAX_LIMIT); }