public void ReturnsFalseForInvalidCheckDigitThirteen() { var isbn = "9780262134723"; var expected = false; var actual = DigitChecker.HasValidCheckDigit(isbn); actual.Should().Be(expected); }
public void ReturnsSumOfIsbnDigitsAlternatelyMulitipliedByOneOrThree() { var isbn = "9780262134729"; var expected = 9 + (7 * 3) + 8 + (0 * 3) + 2 + (6 * 3) + 2 + (1 * 3) + 3 + (4 * 3) + 7 + (2 * 3); var actual = DigitChecker.GetSumOfMultipliedDigits(isbn); actual.Should().Be(expected); }
public void ReturnsFalseForInvalidCheckDigitIsbnTen() { var isbn = "0471606951"; var expected = false; var actual = DigitChecker.HasValidCheckDigit(isbn); actual.Should().Be(expected); }
public void ReturnsSumOfDigitsMultipliedByItsIndex() { var isbn = "0471606952"; var expected = (0 * 1) + (4 * 2) + (7 * 3) + (1 * 4) + (6 * 5) + (0 * 6) + (6 * 7) + (9 * 8) + (5 * 9); var actual = DigitChecker.GetSumOfMultipliedDigits(isbn); actual.Should().Be(expected); }
public void ReturnsCheckDigitXForIsbnTen() { var isbn = "824013341X"; var expected = "X"; var actual = DigitChecker.GetCheckDigitForIsbnTen(isbn); actual.Should().Be(expected); }
public void ReturnsTrueForValidCheckDigitTen() { var isbn = "824013341X"; var expected = true; var actual = DigitChecker.HasValidCheckDigit(isbn); actual.Should().Be(expected); }
public void FilterDigits_EmptyArray_ReturnsEmptyArray() { var array = new int[0]; int digit = 0; int[] result = DigitChecker.FilterDigits(array, digit); Assert.IsTrue(result.Length == 0); }
public void FilterDigits_DigitNotInArray_ReturnsEmptyArray() { var array = new[] { 7, 1, 2, 3, 4, 5, 6, 7, 68, 70, 15, 17 }; int digit = 9; int[] result = DigitChecker.FilterDigits(array, digit); Assert.IsTrue(result.Length == 0); }
public void FilterDigits_DigitThatIsNotInArray_ReturnsEmptyArray() { var array = new[] { 7, 1, 2, 3, 4, 5, 6, 7, 68, 70, 15, 17 }; int digit = 9; var expectedResult = new int[0]; int[] actualResult = DigitChecker.FilterDigits(array, digit); Assert.IsTrue(actualResult.SequenceEqual(expectedResult)); }
public void FilterDigits_DigitThatIsNotInTheArray_ReturnsEmptyArray() { int digit = 2; int[] array = Enumerable.Range(-100, 100).Where(v => !v.ToString().Contains(digit.ToString())).ToArray(); int[] expected = new int[0]; int[] actual = DigitChecker.FilterDigits(array, digit); Assert.IsTrue(actual.SequenceEqual(expected)); }
public void FilterDigits_OrderedArrayWithNegativeNumbers_ReturnsValidAnswer() { int digit = 2; int[] array = Enumerable.Range(-100, 100).ToArray(); int[] expected = array.Where(v => v.ToString().Contains(digit.ToString())).ToArray(); int[] actual = DigitChecker.FilterDigits(array, digit); Assert.IsTrue(actual.SequenceEqual(expected)); }
public static void BeginGuessing() { int points = 0; int fails = 0; bool floatingPoint = true; while (true) { char digit = Console.ReadKey().KeyChar; bool isCorrect = DigitChecker.CheckDigit(digit); if (isCorrect) { points++; } else { // Remove the digit and replace it with the correct one. Change its colour so that it's clear it was wrong. char correctDigit = DigitChecker.GetCorrectDigit(points + fails); Console.Write("\b"); Console.ForegroundColor = ConsoleColor.Red; Console.Write(correctDigit); Console.ForegroundColor = ConsoleColor.Gray; fails++; if (fails == 3) { // End the game. Console.WriteLine($"\nGame over. You scored {points} points!"); return; } } if (floatingPoint) { // Add a comma after the first digit entered. Console.Write('.'); floatingPoint = false; } } }
public void FilterDigits_AllElementsContainDigit_ReturnsEqualArray() { int digit = 9; int bound = 100000000; string strDigit = digit.ToString(); var array = Enumerable.Range(-bound, 2 * bound) .Where(v => v.ToString().Contains(strDigit)) .ToArray(); var sw = new Stopwatch(); sw.Start(); int[] result = DigitChecker.FilterDigits(array, digit); sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); CollectionAssert.AreEqual(array, result); }
private void DigitButton_Click(object sender, RoutedEventArgs e) { string digitString = (sender as Button).Content.ToString(); char digit = char.Parse(digitString); bool isCorrect = DigitChecker.CheckDigit(digit); if (isCorrect) { DigitsBlock.Text += digit; _scoreboard.Points++; } else { char correctDigit = DigitChecker.GetCorrectDigit(_scoreboard.Points + _scoreboard.Fails); DigitsBlock.Text += correctDigit; _scoreboard.Fails++; if (_scoreboard.Fails == 3) { MessageBox.Show($"Game over! You scored {_scoreboard.Points} points.", "Game over!"); foreach (var elem in MainGrid.Children) { if (elem is Button b) { b.IsEnabled = false; } } } } if (_floatingPoint) { DigitsBlock.Text += '.'; _floatingPoint = false; } }
public void FilterDigits_ReturnsEmptyArray(int[] array, int digit) { int[] result = DigitChecker.FilterDigits(array, digit); CollectionAssert.IsEmpty(result); }
public int[] FilterDigits_DataFromSource_FilerDigits_ResultOnlyElementsWithPassedDigit(int[] array, int digit) => DigitChecker.FilterDigits(array, digit);
public void FilterDigits_ArrayIsNull_ThrowsArgumentNullException() => Assert.Throws <ArgumentNullException>(() => DigitChecker.FilterDigits(null, 0));
public void FilterDigits_DigitIsOutOfRange_ThrowsArgumentOutOfRangeException() => Assert.Throws <ArgumentOutOfRangeException>(() => DigitChecker.FilterDigits(new int[1], 10));
public void FilterDigits_NullArray_ThrowsArgumentNullException() => DigitChecker.FilterDigits(null, 0);
public void FilterDigits_DigitIs10_ThrowsArgumentOutOfRangeException() => DigitChecker.FilterDigits(new int[0], 10);
public void FilterDigits_DigitIsMinusOne_ThrowsArgumentOutOfRangeException() => DigitChecker.FilterDigits(new int[0], -1);