diff --git a/src/main/java/edu/hw1/EvenArrayUtils.java b/src/main/java/edu/hw1/EvenArrayUtils.java deleted file mode 100644 index c8ad24f..0000000 --- a/src/main/java/edu/hw1/EvenArrayUtils.java +++ /dev/null @@ -1,54 +0,0 @@ -package edu.hw1; - -import java.util.Objects; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public final class EvenArrayUtils { - private final static Logger LOGGER = LogManager.getLogger(); - - private EvenArrayUtils() { - } - - /** - * Filters an array of integers, returning only the even numbers. - * - * @param numbers the array of integers to filter - * @return an array of even integers from the original array - * @throws NullPointerException if the input array is null - */ - public static int[] filter(int[] numbers) { - Objects.requireNonNull(numbers); - LOGGER.trace("Filtering an array {}", numbers); - - int count = count(numbers); - - int[] result = new int[count]; - int idx = 0; - for (int number : numbers) { - if (number % 2 == 0) { - result[idx++] = number; - } - } - return result; - } - - /** - * Counts the number of even integers in an array of integers. - * - * @param numbers the array of integers to count - * @return the number of even integers in the array - * @throws NullPointerException if the input array is null - */ - public static int count(int[] numbers) { - Objects.requireNonNull(numbers); - - int count = 0; - for (int number : numbers) { - if (number % 2 == 0) { - ++count; - } - } - return count; - } -} diff --git a/src/main/java/edu/hw1/Main.java b/src/main/java/edu/hw1/Main.java deleted file mode 100644 index 46ecf2f..0000000 --- a/src/main/java/edu/hw1/Main.java +++ /dev/null @@ -1,27 +0,0 @@ -package edu.hw1; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`, -// then press Enter. You can now see whitespace characters in your code. -public final class Main { - private final static Logger LOGGER = LogManager.getLogger(); - - private Main() { - } - - public static void main(String[] args) { - // Press Alt+Enter with your caret at the highlighted text to see how - // IntelliJ IDEA suggests fixing it. - LOGGER.info("Hello and welcome!"); - - // Press Shift+F10 or click the green arrow button in the gutter to run the code. - for (int i = 0; i <= 2; i++) { - - // Press Shift+F9 to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing Ctrl+F8. - LOGGER.info("i = {}", i); - } - } -} diff --git a/src/main/java/edu/hw1/Task0.java b/src/main/java/edu/hw1/Task0.java new file mode 100644 index 0000000..9f59a4e --- /dev/null +++ b/src/main/java/edu/hw1/Task0.java @@ -0,0 +1,18 @@ +package edu.hw1; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`, +// then press Enter. You can now see whitespace characters in your code. +public final class Task0 { + private final static Logger LOGGER = LogManager.getLogger(); + + private Task0() { + } + + public static void helloWorld(String[] args) { + LOGGER.info("Привет, мир!"); + + } +} diff --git a/src/main/java/edu/hw1/Task1.java b/src/main/java/edu/hw1/Task1.java new file mode 100644 index 0000000..9a07018 --- /dev/null +++ b/src/main/java/edu/hw1/Task1.java @@ -0,0 +1,27 @@ +package edu.hw1; + + + +public final class Task1 { + private static final int SECONDS_IN_MINUTES = 60; + + private Task1() { + } + + public static int minutesToSeconds(String stringTime) { + String[] time = stringTime.split(":"); + if (time.length == 2) { + int minutes = Integer.parseInt(time[0]); + int seconds = Integer.parseInt(time[1]); + if (seconds < SECONDS_IN_MINUTES && minutes >= 0 && seconds >= 0) { + return minutes * SECONDS_IN_MINUTES + seconds; + } + } + return -1; + } + +} + + + + diff --git a/src/main/java/edu/hw1/Task2.java b/src/main/java/edu/hw1/Task2.java new file mode 100644 index 0000000..d3f8d1b --- /dev/null +++ b/src/main/java/edu/hw1/Task2.java @@ -0,0 +1,20 @@ +package edu.hw1; + +public final class Task2 { + + private static final int BASE = 10; + + private Task2() { + } + + public static int countDigits(int number) { + int currentNumber = number; + int answer = 1; + while (currentNumber / BASE != 0) { + ++answer; + currentNumber /= BASE; + } + return answer; + + } +} diff --git a/src/main/java/edu/hw1/Task3.java b/src/main/java/edu/hw1/Task3.java new file mode 100644 index 0000000..6d45124 --- /dev/null +++ b/src/main/java/edu/hw1/Task3.java @@ -0,0 +1,19 @@ +package edu.hw1; + +import java.util.Arrays; + +public final class Task3 { + + private Task3() { + } + + public static boolean isNestable(int[] firstArray, int[] secondArray) { + if (firstArray.length > 0 && secondArray.length > 0) { + return Arrays.stream(firstArray).min().getAsInt() > Arrays.stream(secondArray).min().getAsInt() + && Arrays.stream(firstArray).max().getAsInt() < Arrays.stream(secondArray).max().getAsInt(); + } + return false; + } + +} + diff --git a/src/main/java/edu/hw1/Task4.java b/src/main/java/edu/hw1/Task4.java new file mode 100644 index 0000000..f3adfec --- /dev/null +++ b/src/main/java/edu/hw1/Task4.java @@ -0,0 +1,22 @@ +package edu.hw1; + +public final class Task4 { + + private Task4() { + + } + + + public static String fixString(String string) { + StringBuilder answer = new StringBuilder(); + final int n = string.length(); + for (int i = 0; i < n - 1; i += 2) { + answer.append(string.charAt(i + 1)); + answer.append(string.charAt(i)); + } + if (n % 2 != 0) { + answer.append(string.charAt(n - 1)); + } + return answer.toString(); + } +} diff --git a/src/main/java/edu/hw1/Task5.java b/src/main/java/edu/hw1/Task5.java new file mode 100644 index 0000000..d9002f4 --- /dev/null +++ b/src/main/java/edu/hw1/Task5.java @@ -0,0 +1,33 @@ +package edu.hw1; + +public final class Task5 { + + private Task5() { + + } + + private static boolean isPalindrome(String value) { + String reversedStringValue = new StringBuilder(value).reverse().toString(); + return value.equals(reversedStringValue); + } + + public static boolean isPalindromeDescendant(int value) { + String stringValue = Integer.toString(value); + while (stringValue.length() != 1) { + if (isPalindrome(stringValue)) { + return true; + } + if (stringValue.length() % 2 != 0) { + return false; + } + StringBuilder nextString = new StringBuilder(); + for (int i = 0; i < stringValue.length(); i += 2) { + nextString.append((int) stringValue.charAt(i) - '0' + stringValue.charAt(i + 1) - '0'); + } + stringValue = String.valueOf(nextString); + } + + return false; + } + +} diff --git a/src/main/java/edu/hw1/Task6.java b/src/main/java/edu/hw1/Task6.java new file mode 100644 index 0000000..6a0d7bb --- /dev/null +++ b/src/main/java/edu/hw1/Task6.java @@ -0,0 +1,37 @@ +package edu.hw1; + +import java.util.Arrays; + +public final class Task6 { + + private static final int RESULT_NUMBER = 6174; + private static final int NUMBER_OF_DIGITS = 4; + private static final int BASE = 10; + + private Task6() { + } + + private static int countK(int value, int steps) { + int currentValue = value; + if (currentValue == RESULT_NUMBER) { + return steps; + } + int[] values = new int[NUMBER_OF_DIGITS]; + for (int i = 0; i < NUMBER_OF_DIGITS; i++) { + values[i] = currentValue % BASE; + currentValue /= BASE; + } + Arrays.sort(values); + int answer = 0; + for (int i = 0; i < NUMBER_OF_DIGITS; i++) { + answer *= BASE; + answer += values[NUMBER_OF_DIGITS - 1 - i] - values[i]; + } + + return countK(answer, steps + 1); + } + + public static int countK(int value) { + return countK(value, 0); + } +} diff --git a/src/main/java/edu/hw1/Task7.java b/src/main/java/edu/hw1/Task7.java new file mode 100644 index 0000000..b2cd141 --- /dev/null +++ b/src/main/java/edu/hw1/Task7.java @@ -0,0 +1,33 @@ +package edu.hw1; + +public final class Task7 { + + private Task7() { + } + + + private static int numberOfBits(int n) { + int answer = 0; + int number = n; + while (number > 0) { + number /= 2; + answer++; + } + return answer; + } + + public static int rotateLeft(int n, int shift) { + int currentShift = shift; + int numberOfBits = numberOfBits(n); + currentShift %= numberOfBits; + return rotateRight(n, numberOfBits - currentShift); + } + + public static int rotateRight(int n, int shift) { + int currentShift = shift; + int numberOfBits = numberOfBits(n); + currentShift %= numberOfBits; + return (n >> currentShift) | (n % (1 << currentShift) << (numberOfBits - currentShift)); + } + +} diff --git a/src/main/java/edu/hw1/Task8.java b/src/main/java/edu/hw1/Task8.java new file mode 100644 index 0000000..10539a4 --- /dev/null +++ b/src/main/java/edu/hw1/Task8.java @@ -0,0 +1,40 @@ +package edu.hw1; + +public final class Task8 { + private Task8() { + } + + private static final int BOARD_SIZE = 8; + private static final int KNIGHT_STEP = 3; + + private static boolean validCoords(int row, int col) { + return 0 <= row && row < BOARD_SIZE && 0 <= col && col < BOARD_SIZE; + } + + private static boolean canCapture(int[][] board, int row, int col) { + int vRow = 0; + int vCol = -1; + for (vRow = -1; vRow < 2; vRow += 2) { + for (int coef = 1; coef < KNIGHT_STEP; coef++) { + int newRow = row + vRow * coef; + int newCol = col + vCol * (KNIGHT_STEP - coef); + if (validCoords(newRow, newCol) && board[newRow][newCol] == 1) { + return true; + } + } + + } + return false; + } + + public static boolean knightBoardCapture(int[][] board) { + for (int row = 0; row < BOARD_SIZE; row++) { + for (int col = 0; col < BOARD_SIZE; col++) { + if (board[row][col] == 1 && canCapture(board, row, col)) { + return false; + } + } + } + return true; + } +} diff --git a/src/main/java/edu/project1/Main.java b/src/main/java/edu/project1/Main.java deleted file mode 100644 index cbd494f..0000000 --- a/src/main/java/edu/project1/Main.java +++ /dev/null @@ -1,27 +0,0 @@ -package edu.project1; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`, -// then press Enter. You can now see whitespace characters in your code. -public final class Main { - private final static Logger LOGGER = LogManager.getLogger(); - - private Main() { - } - - public static void main(String[] args) { - // Press Alt+Enter with your caret at the highlighted text to see how - // IntelliJ IDEA suggests fixing it. - LOGGER.info("Hello and welcome!"); - - // Press Shift+F10 or click the green arrow button in the gutter to run the code. - for (int i = 0; i <= 2; i++) { - - // Press Shift+F9 to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing Ctrl+F8. - LOGGER.info("i = {}", i); - } - } -} diff --git a/src/test/java/edu/hw1/SampleTest.java b/src/test/java/edu/hw1/SampleTest.java deleted file mode 100644 index b16f423..0000000 --- a/src/test/java/edu/hw1/SampleTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package edu.hw1; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -public class SampleTest { - @Test - @DisplayName("Фильтрация четных чисел") - void filterEvenNumbers() { - // given - int[] numbers = new int[] {1, 2, 3, 4, 5}; - - // when - int[] evenNumbers = EvenArrayUtils.filter(numbers); - - // then - assertThat(evenNumbers) - .containsExactly(2, 4) - .hasSize(2); - } -} diff --git a/src/test/java/edu/hw1/Task1Test.java b/src/test/java/edu/hw1/Task1Test.java new file mode 100644 index 0000000..d594670 --- /dev/null +++ b/src/test/java/edu/hw1/Task1Test.java @@ -0,0 +1,51 @@ +package edu.hw1; + +import edu.hw1.Task1; +import java.util.Random; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class Task1Test { + @Test + void validTest() { + assertEquals(60, edu.hw1.Task1.minutesToSeconds("01:00")); + assertEquals(836, edu.hw1.Task1.minutesToSeconds("13:56")); + assertEquals(43, edu.hw1.Task1.minutesToSeconds("0:43")); + } + + @Test + void invalidTest() { + assertEquals(-1, edu.hw1.Task1.minutesToSeconds("00:60")); + assertEquals(-1, edu.hw1.Task1.minutesToSeconds("79:79")); + assertEquals(-1, edu.hw1.Task1.minutesToSeconds("-5:40")); + assertEquals(-1, edu.hw1.Task1.minutesToSeconds("00:-12")); + assertEquals(-1, edu.hw1.Task1.minutesToSeconds("00::12")); + } + + @Test + void zeroMinutesTest() { + assertEquals(0, edu.hw1.Task1.minutesToSeconds("00:00")); + assertEquals(0, edu.hw1.Task1.minutesToSeconds("000:00")); + assertEquals(0, edu.hw1.Task1.minutesToSeconds("0:00")); + } + + @Test + void longMinutesTest() { + assertEquals(59999, edu.hw1.Task1.minutesToSeconds("999:59")); + assertEquals(4779361, edu.hw1.Task1.minutesToSeconds("79656:01")); + } + + @Test + void randomTest() { + for (int i = 0; i < 100; i++) { + Random rn = new Random(); + int minutes = rn.nextInt(1000000); + int seconds = rn.nextInt(60); + String stringTime = minutes + ":" + seconds; + assertEquals(minutes * 60 + seconds, Task1.minutesToSeconds(stringTime), + "Given values: " + minutes + " minutes, " + seconds + " seconds" + ); + } + } + +} diff --git a/src/test/java/edu/hw1/Task2Test.java b/src/test/java/edu/hw1/Task2Test.java new file mode 100644 index 0000000..7858301 --- /dev/null +++ b/src/test/java/edu/hw1/Task2Test.java @@ -0,0 +1,33 @@ +package edu.hw1; + +import edu.hw1.Task2; +import org.junit.jupiter.api.Test; + +import java.util.Random; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class Task2Test { + @Test + void validTest() { + assertEquals(4, edu.hw1.Task2.countDigits(1234)); + assertEquals(2, edu.hw1.Task2.countDigits(67)); + assertEquals(1, edu.hw1.Task2.countDigits(9)); + assertEquals(8, edu.hw1.Task2.countDigits(67895046)); + } + + @Test + void zeroTest() { + assertEquals(1, edu.hw1.Task2.countDigits(0)); + } + + @Test + void randomTest() { + for (int i = 0; i < 100; i++) { + Random rn = new Random(); + int number = rn.nextInt(1000000); + assertEquals(Integer.toString(number).length(), Task2.countDigits(number)); + } + } + +} diff --git a/src/test/java/edu/hw1/Task3Test.java b/src/test/java/edu/hw1/Task3Test.java new file mode 100644 index 0000000..bfb514f --- /dev/null +++ b/src/test/java/edu/hw1/Task3Test.java @@ -0,0 +1,41 @@ +package edu.hw1; + +import edu.hw1.Task3; +import java.util.stream.IntStream; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class Task3Test { + @Test + void trueTest() { + assertTrue(edu.hw1.Task3.isNestable(new int[]{1, 2, 3, 4}, new int[]{0, 6})); + assertTrue(edu.hw1.Task3.isNestable(new int[]{3, 1}, new int[]{4, 0})); + assertTrue(edu.hw1.Task3.isNestable(new int[]{17, 27, 41, 39, 42, 18}, new int[]{16, 43, 20, 25, 30})); + } + + @Test + void falseTest() { + assertFalse(edu.hw1.Task3.isNestable(new int[]{9, 9, 8}, new int[]{8, 9})); + assertFalse(edu.hw1.Task3.isNestable(new int[]{1, 2, 3, 4}, new int[]{2, 3})); + assertFalse(edu.hw1.Task3.isNestable(new int[]{16, 17, 18, 19, 20}, new int[]{16, 17, 18, 19, 20})); + } + + @Test + void emptyArrayTest() { + assertFalse(edu.hw1.Task3.isNestable(new int[]{1, 2, 3, 4}, new int[0])); + assertFalse(edu.hw1.Task3.isNestable(new int[0], new int[]{79, 80, 86, 90})); + assertFalse(edu.hw1.Task3.isNestable(new int[0], new int[0])); + } + + @Test + void longArrayTest() { + int[] firstArray = IntStream.rangeClosed(100, 100000).toArray(); + int[] secondArray = IntStream.rangeClosed(10, 1000000).toArray(); + + assertTrue(edu.hw1.Task3.isNestable(firstArray, secondArray)); + assertFalse(Task3.isNestable(firstArray, firstArray)); + } + + +} diff --git a/src/test/java/edu/hw1/Task4Test.java b/src/test/java/edu/hw1/Task4Test.java new file mode 100644 index 0000000..6a8a512 --- /dev/null +++ b/src/test/java/edu/hw1/Task4Test.java @@ -0,0 +1,34 @@ +package edu.hw1; + +import edu.hw1.Task4; +import org.junit.jupiter.api.Test; + +import java.nio.charset.StandardCharsets; +import java.util.Random; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class Task4Test { + @Test + void validTest() { + assertEquals("Помогите исправить строки!", edu.hw1.Task4.fixString("оПомигети псаривьтс ртко!и")); + assertEquals("214365", edu.hw1.Task4.fixString("123456")); + assertEquals("This is a mixed up string.", edu.hw1.Task4.fixString("hTsii s aimex dpus rtni.g")); + assertEquals("abcde", edu.hw1.Task4.fixString("badce")); + assertEquals("a", edu.hw1.Task4.fixString("a")); + } + + @Test + void randomTest() { + Random rn = new Random(); + for (int i = 0; i < 100; i++) { + int size = rn.nextInt(10000); + byte[] array = new byte[size]; + rn.nextBytes(array); + String generatedString = new String(array, StandardCharsets.UTF_8); + assertEquals(generatedString, edu.hw1.Task4.fixString(Task4.fixString(generatedString))); + } + + + } +} diff --git a/src/test/java/edu/hw1/Task5Test.java b/src/test/java/edu/hw1/Task5Test.java new file mode 100644 index 0000000..b371505 --- /dev/null +++ b/src/test/java/edu/hw1/Task5Test.java @@ -0,0 +1,25 @@ +package edu.hw1; + +import edu.hw1.Task5; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class Task5Test { + + @Test + void validTest() { + assertTrue(edu.hw1.Task5.isPalindromeDescendant(11211230)); + assertTrue(edu.hw1.Task5.isPalindromeDescendant(13001120)); + assertTrue(edu.hw1.Task5.isPalindromeDescendant(23336014)); + assertTrue(edu.hw1.Task5.isPalindromeDescendant(11)); + } + + @Test + void invalidTest() { + assertFalse(edu.hw1.Task5.isPalindromeDescendant(1)); + assertFalse(edu.hw1.Task5.isPalindromeDescendant(12367)); + assertFalse(edu.hw1.Task5.isPalindromeDescendant(343311)); + assertFalse(Task5.isPalindromeDescendant(34331100)); + } +} diff --git a/src/test/java/edu/hw1/Task6Test.java b/src/test/java/edu/hw1/Task6Test.java new file mode 100644 index 0000000..5c2cce7 --- /dev/null +++ b/src/test/java/edu/hw1/Task6Test.java @@ -0,0 +1,20 @@ +package edu.hw1; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class Task6Test { + @Test + void validTest() { + assertEquals(5, edu.hw1.Task6.countK(6621)); + assertEquals(4, edu.hw1.Task6.countK(6554)); + assertEquals(3, edu.hw1.Task6.countK(1234)); + assertEquals(3, edu.hw1.Task6.countK(5432)); + + } + + @Test + void zeroStepsTest() { + assertEquals(0, Task6.countK(6174)); + } +} diff --git a/src/test/java/edu/hw1/Task7Test.java b/src/test/java/edu/hw1/Task7Test.java new file mode 100644 index 0000000..778970f --- /dev/null +++ b/src/test/java/edu/hw1/Task7Test.java @@ -0,0 +1,33 @@ +package edu.hw1; + +import edu.hw1.Task7; +import java.util.Random; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class Task7Test { + + + @Test + void rotateRightTest() { + assertEquals(4, edu.hw1.Task7.rotateRight(8, 1)); + assertEquals(63, edu.hw1.Task7.rotateRight(63, 63)); + + } + + @Test + void rotateLeftTest() { + assertEquals(1, edu.hw1.Task7.rotateLeft(16, 1)); + assertEquals(6, edu.hw1.Task7.rotateLeft(17, 2)); + assertEquals(31, edu.hw1.Task7.rotateLeft(31, 6)); + } + + @Test + void randomTest() { + Random rn = new Random(); + for (int i = 0; i < 100; i++) { + int number = rn.nextInt(10000); + assertEquals(number, Task7.rotateRight(number * 8, 3)); + } + } +} diff --git a/src/test/java/edu/hw1/Task8Test.java b/src/test/java/edu/hw1/Task8Test.java new file mode 100644 index 0000000..e294913 --- /dev/null +++ b/src/test/java/edu/hw1/Task8Test.java @@ -0,0 +1,65 @@ +package edu.hw1; + +import edu.hw1.Task8; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class Task8Test { + + + @Test + void trueTest() { + assertTrue(edu.hw1.Task8.knightBoardCapture(new int[][]{ + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 1, 0, 0, 0, 1, 0, 0}, + {0, 0, 0, 0, 1, 0, 1, 0}, + {0, 1, 0, 0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 1, 0, 0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1, 0, 0, 0} + })); + assertTrue(edu.hw1.Task8.knightBoardCapture(new int[][]{ + {1, 0, 1, 0, 0, 0, 0, 1}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0, 0, 1, 0}, + {0, 0, 0, 0, 0, 1, 0, 0}, + {0, 1, 0, 0, 0, 0, 0, 0}, + {0, 1, 0, 0, 0, 0, 0, 0}, + {0, 1, 0, 0, 1, 0, 1, 1} + })); + + } + + @Test + void falseTest() { + assertFalse(edu.hw1.Task8.knightBoardCapture(new int[][]{ + {1, 0, 1, 0, 1, 0, 1, 0}, + {0, 1, 0, 1, 0, 1, 0, 1}, + {0, 0, 0, 0, 1, 0, 1, 0}, + {0, 0, 1, 0, 0, 1, 0, 1}, + {1, 0, 0, 0, 1, 0, 1, 0}, + {0, 0, 0, 0, 0, 1, 0, 1}, + {1, 0, 0, 0, 1, 0, 1, 0}, + {0, 0, 0, 1, 0, 1, 0, 1} + })); + assertFalse(edu.hw1.Task8.knightBoardCapture(new int[][]{ + {0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {1, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 0}, + {1, 0, 0, 0, 0, 0, 0, 0} + })); + } + + + @Test + void emptyBoardTest() { + assertTrue(Task8.knightBoardCapture(new int[8][8])); + } +} diff --git a/src/test/java/edu/project1/SampleTest.java b/src/test/java/edu/project1/SampleTest.java deleted file mode 100644 index f21f081..0000000 --- a/src/test/java/edu/project1/SampleTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package edu.project1; - -import edu.hw1.EvenArrayUtils; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -public class SampleTest { - @Test - @DisplayName("Фильтрация четных чисел") - void filterEvenNumbers() { - // given - int[] numbers = new int[] {1, 2, 3, 4, 5}; - - // when - int[] evenNumbers = EvenArrayUtils.filter(numbers); - - // then - assertThat(evenNumbers) - .containsExactly(2, 4) - .hasSize(2); - } -}