public void IsShipDirectionValid_ValidPointValidSizeLeftDirection() { Point point = new Point(9, 1); int shipSize = 5; ShipDirection shipDirection = ShipDirection.Left; Assert.IsTrue(GridValidator.IsShipDirectionValid(shipSize, point, shipDirection)); }
public void IsShipDirectionValid_ValidPointValidSizeRightDirection() { Point point = new Point(9, 6); int shipSize = 4; ShipDirection shipDirection = ShipDirection.Right; Assert.IsFalse(GridValidator.IsShipDirectionValid(shipSize, point, shipDirection)); }
public void IsShipDirectionValid_ValidPointValidSizeDownDirection() { Point point = new Point(9, 6); int shipSize = 4; ShipDirection shipDirection = ShipDirection.Down; Assert.IsTrue(GridValidator.IsShipDirectionValid(shipSize, point, shipDirection)); }
public void IsShipDirectionValid_ValidPointSizeDirection() { Point point = new Point(4, 6); int shipSize = 5; ShipDirection shipDirection = ShipDirection.Right; Assert.IsTrue(GridValidator.IsShipDirectionValid(shipSize, point, shipDirection)); }
public void ParseAmountFromString_RegularNumberIsNotChanged() { GridValidator.ParseAmountFromString("1", out decimal parsedDecimalAmount); Assert.AreEqual(1M, parsedDecimalAmount); GridValidator.ParseAmountFromString("-10", out parsedDecimalAmount); Assert.AreEqual(-10M, parsedDecimalAmount); GridValidator.ParseAmountFromString("100.98", out parsedDecimalAmount); Assert.AreEqual(100.98M, parsedDecimalAmount); }
private void OnAvailableCellEditEnding(string newText) { if (!GridValidator.ParseAmountFromString(newText, out decimal newBudgetedAmount)) { return; } decimal difference = SelectedCategory.Available - newBudgetedAmount; SelectedCategory.Budgeted -= difference; }
private void ConstructShip(Point point, ShipDirection direction) { if (GridValidator.IsShipDirectionValid(Size, point, direction)) { FillPoints(point, direction); } else { int randTrial = rand.Next(1, 2) % 2; direction = randTrial == 0 ? GetRandomDirection() : direction; point = randTrial == 1 ? new Point(rand.Next(1, Constants.GridLength), rand.Next(1, Constants.GridLength)) : point; ConstructShip(point, direction); } }
public Grid Map(IList <string> gridScale) { EnsureArg.IsNotNull(gridScale, nameof(gridScale)); EnsureArg.SizeIs(gridScale, 2, nameof(gridScale)); var grid = new Grid { XScale = int.Parse(gridScale[0]), YScale = int.Parse(gridScale[1]) }; var gridValidator = new GridValidator(); gridValidator.ValidateAndThrow(grid); return(grid); }
public void ParseAmountFromString_AdditionWorks() { GridValidator.ParseAmountFromString("$1.00 + $1.00", out decimal parsedDecimalAmount); Assert.AreEqual(2M, parsedDecimalAmount); GridValidator.ParseAmountFromString("9+7", out parsedDecimalAmount); Assert.AreEqual(16M, parsedDecimalAmount); GridValidator.ParseAmountFromString("$1000 + 8.85", out parsedDecimalAmount); Assert.AreEqual(1008.85M, parsedDecimalAmount); GridValidator.ParseAmountFromString("100 + $9.12", out parsedDecimalAmount); Assert.AreEqual(109.12M, parsedDecimalAmount); GridValidator.ParseAmountFromString("($9.00) + 9", out parsedDecimalAmount); Assert.AreEqual(0M, parsedDecimalAmount); }
private static void GridIsGeneratedCorrectly(IPuzzlePolicy policy) { var validator = new GridValidator(); var solver = new SudokuSolver(validator); var generator = new SudokuGenerator(validator, solver); for (int i = 0; i < 5; i++) { var puzzle = generator.GeneratePuzzle(policy); var fullGrid = puzzle.FullGrid; Assert.IsTrue(validator.GridIsComplete(fullGrid)); Assert.IsTrue(validator.ValidRows(fullGrid)); Assert.IsTrue(validator.ValidColumns(fullGrid)); Assert.IsTrue(validator.ValidGroups(fullGrid)); var puzzleGrid = puzzle.puzzleGrid; // Actual number of blanks can be less than specified in policy // as we could not find a puzzle with on single solutions with MaxBlanks Assert.IsTrue(validator.GetNumBlanks(puzzleGrid) <= policy.MaxBlanks); } }
public void ParseAmountFromString_SubtractionWorks() { GridValidator.ParseAmountFromString("$10.00 - $4.00", out decimal parsedDecimalAmount); Assert.AreEqual(6M, parsedDecimalAmount); GridValidator.ParseAmountFromString("$1000 - 8.85", out parsedDecimalAmount); Assert.AreEqual(991.15M, parsedDecimalAmount); GridValidator.ParseAmountFromString("100 - $9.12", out parsedDecimalAmount); Assert.AreEqual(90.88M, parsedDecimalAmount); GridValidator.ParseAmountFromString("7 - 9", out parsedDecimalAmount); Assert.AreEqual(-2M, parsedDecimalAmount); GridValidator.ParseAmountFromString("-9", out parsedDecimalAmount); Assert.AreEqual(-9M, parsedDecimalAmount); GridValidator.ParseAmountFromString("($9.00) - 9", out parsedDecimalAmount); Assert.AreEqual(-18M, parsedDecimalAmount); GridValidator.ParseAmountFromString("($9.00) - 9 - 5", out parsedDecimalAmount); Assert.AreEqual(-23M, parsedDecimalAmount); }
private static void OnInflowCellEditEnding(TextBox textBox) { GridValidator.ParseAmountFromString(textBox.Text, out decimal newBudgetedAmount); textBox.Text = newBudgetedAmount.ToString(CultureInfo.CurrentUICulture); }
private void OnBudgetedCellEditEnding(string newText) { viewModel.SelectedItem.Budgeted = GridValidator.ParseAmountFromString(newText, out decimal newBudgetedAmount) ? newBudgetedAmount : 0; }
private void OnNameCellEditEnding(string newText) { SelectedCategory.Name = GridValidator.ValidateNewStringIsUniqueFromExistingStrings(newText, viewModel.ItemList.Select(account => account.Name).ToList(), SelectedCategory.Name); }
private Ship GenerateShip(Ship ship) { return(GridValidator.IsShipValid(ships, ship) ? ship : GenerateShip(new Ship(ship.Size))); }