From eae0cee48bb8ad3609d2a6a4932c70b9e16b6afc Mon Sep 17 00:00:00 2001 From: "anilkivilcim.eray" Date: Mon, 8 Apr 2019 23:02:03 +0300 Subject: [PATCH] BAEL-2797 fixes done for PR : * changed imports removed from other branches * cobertura plugin removed * copied packages removed from origin --- .../com/baeldung/algorithms/RunAlgorithm.java | 4 +- ...ColonyOptimizationLongRunningUnitTest.java | 2 +- ...ryGeneticAlgorithmLongRunningUnitTest.java | 2 +- ...SimulatedAnnealingLongRunningUnitTest.java | 2 +- .../ApacheCommonsCombinationGenerator.java | 29 ------- .../CombinatoricsLibCombinationGenerator.java | 13 ---- .../GuavaCombinationsGenerator.java | 17 ----- .../IterativeCombinationGenerator.java | 52 ------------- ...electionRecursiveCombinationGenerator.java | 53 ------------- .../SetRecursiveCombinationGenerator.java | 50 ------------ .../algorithms/factorial/Factorial.java | 63 --------------- .../mcts/montecarlo/MonteCarloTreeSearch.java | 2 +- .../algorithms/mcts/montecarlo/UCT.java | 1 + .../algorithms/mcts/tictactoe/Board.java | 1 + .../binarysearch/BinarySearchUnitTest.java | 1 + .../combination/CombinationUnitTest.java | 35 --------- .../factorial/FactorialUnitTest.java | 72 ------------------ .../algorithms/minimax/MinimaxUnitTest.java | 2 + .../ByteArrayConverterUnitTest.java | 2 + .../src/test/resources/graph.png | Bin 10403 -> 9637 bytes java-math/pom.xml | 20 ----- 21 files changed, 13 insertions(+), 410 deletions(-) delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/ApacheCommonsCombinationGenerator.java delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/CombinatoricsLibCombinationGenerator.java delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/GuavaCombinationsGenerator.java delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/IterativeCombinationGenerator.java delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SelectionRecursiveCombinationGenerator.java delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SetRecursiveCombinationGenerator.java delete mode 100644 algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/factorial/Factorial.java delete mode 100644 algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/combination/CombinationUnitTest.java delete mode 100644 algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/factorial/FactorialUnitTest.java diff --git a/algorithms-genetic/src/main/java/com/baeldung/algorithms/RunAlgorithm.java b/algorithms-genetic/src/main/java/com/baeldung/algorithms/RunAlgorithm.java index 133c58ce619b..779cb9b97001 100644 --- a/algorithms-genetic/src/main/java/com/baeldung/algorithms/RunAlgorithm.java +++ b/algorithms-genetic/src/main/java/com/baeldung/algorithms/RunAlgorithm.java @@ -1,11 +1,11 @@ package com.baeldung.algorithms; +import java.util.Scanner; + import com.baeldung.algorithms.ga.annealing.SimulatedAnnealing; import com.baeldung.algorithms.ga.ant_colony.AntColonyOptimization; import com.baeldung.algorithms.ga.binary.SimpleGeneticAlgorithm; -import java.util.Scanner; - public class RunAlgorithm { public static void main(String[] args) throws InstantiationException, IllegalAccessException { diff --git a/algorithms-genetic/src/test/java/com/baeldung/algorithms/AntColonyOptimizationLongRunningUnitTest.java b/algorithms-genetic/src/test/java/com/baeldung/algorithms/AntColonyOptimizationLongRunningUnitTest.java index 24f6d044966f..2ac7adc3aa66 100644 --- a/algorithms-genetic/src/test/java/com/baeldung/algorithms/AntColonyOptimizationLongRunningUnitTest.java +++ b/algorithms-genetic/src/test/java/com/baeldung/algorithms/AntColonyOptimizationLongRunningUnitTest.java @@ -1,9 +1,9 @@ package com.baeldung.algorithms; -import com.baeldung.algorithms.ga.ant_colony.AntColonyOptimization; import org.junit.Assert; import org.junit.Test; +import com.baeldung.algorithms.ga.ant_colony.AntColonyOptimization; public class AntColonyOptimizationLongRunningUnitTest { diff --git a/algorithms-genetic/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmLongRunningUnitTest.java b/algorithms-genetic/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmLongRunningUnitTest.java index 57a3e33e4f72..e819da4b36d4 100644 --- a/algorithms-genetic/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmLongRunningUnitTest.java +++ b/algorithms-genetic/src/test/java/com/baeldung/algorithms/BinaryGeneticAlgorithmLongRunningUnitTest.java @@ -1,9 +1,9 @@ package com.baeldung.algorithms; -import com.baeldung.algorithms.ga.binary.SimpleGeneticAlgorithm; import org.junit.Assert; import org.junit.Test; +import com.baeldung.algorithms.ga.binary.SimpleGeneticAlgorithm; public class BinaryGeneticAlgorithmLongRunningUnitTest { diff --git a/algorithms-genetic/src/test/java/com/baeldung/algorithms/SimulatedAnnealingLongRunningUnitTest.java b/algorithms-genetic/src/test/java/com/baeldung/algorithms/SimulatedAnnealingLongRunningUnitTest.java index c5f7e154e210..2ce7d75e436b 100644 --- a/algorithms-genetic/src/test/java/com/baeldung/algorithms/SimulatedAnnealingLongRunningUnitTest.java +++ b/algorithms-genetic/src/test/java/com/baeldung/algorithms/SimulatedAnnealingLongRunningUnitTest.java @@ -1,9 +1,9 @@ package com.baeldung.algorithms; -import com.baeldung.algorithms.ga.annealing.SimulatedAnnealing; import org.junit.Assert; import org.junit.Test; +import com.baeldung.algorithms.ga.annealing.SimulatedAnnealing; public class SimulatedAnnealingLongRunningUnitTest { diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/ApacheCommonsCombinationGenerator.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/ApacheCommonsCombinationGenerator.java deleted file mode 100644 index 40142ce94079..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/ApacheCommonsCombinationGenerator.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.baeldung.algorithms.combination; - -import java.util.Arrays; -import java.util.Iterator; - -import org.apache.commons.math3.util.CombinatoricsUtils; - -public class ApacheCommonsCombinationGenerator { - - private static final int N = 6; - private static final int R = 3; - - /** - * Print all combinations of r elements from a set - * @param n - number of elements in set - * @param r - number of elements in selection - */ - public static void generate(int n, int r) { - Iterator iterator = CombinatoricsUtils.combinationsIterator(n, r); - while (iterator.hasNext()) { - final int[] combination = iterator.next(); - System.out.println(Arrays.toString(combination)); - } - } - - public static void main(String[] args) { - generate(N, R); - } -} \ No newline at end of file diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/CombinatoricsLibCombinationGenerator.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/CombinatoricsLibCombinationGenerator.java deleted file mode 100644 index 0afdeefb8b27..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/CombinatoricsLibCombinationGenerator.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.baeldung.algorithms.combination; - -import org.paukov.combinatorics3.Generator; - -public class CombinatoricsLibCombinationGenerator { - - public static void main(String[] args) { - Generator.combination(0, 1, 2, 3, 4, 5) - .simple(3) - .stream() - .forEach(System.out::println); - } -} diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/GuavaCombinationsGenerator.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/GuavaCombinationsGenerator.java deleted file mode 100644 index d2783881bacc..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/GuavaCombinationsGenerator.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.baeldung.algorithms.combination; - -import java.util.Arrays; -import java.util.Set; - -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; - -public class GuavaCombinationsGenerator { - - public static void main(String[] args) { - - Set> combinations = Sets.combinations(ImmutableSet.of(0, 1, 2, 3, 4, 5), 3); - System.out.println(combinations.size()); - System.out.println(Arrays.toString(combinations.toArray())); - } -} diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/IterativeCombinationGenerator.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/IterativeCombinationGenerator.java deleted file mode 100644 index 676d2f41e3e2..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/IterativeCombinationGenerator.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.baeldung.algorithms.combination; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class IterativeCombinationGenerator { - - private static final int N = 5; - private static final int R = 2; - - /** - * Generate all combinations of r elements from a set - * @param n the number of elements in input set - * @param r the number of elements in a combination - * @return the list containing all combinations - */ - public List generate(int n, int r) { - List combinations = new ArrayList<>(); - int[] combination = new int[r]; - - // initialize with lowest lexicographic combination - for (int i = 0; i < r; i++) { - combination[i] = i; - } - - while (combination[r - 1] < n) { - combinations.add(combination.clone()); - - // generate next combination in lexicographic order - int t = r - 1; - while (t != 0 && combination[t] == n - r + t) { - t--; - } - combination[t]++; - for (int i = t + 1; i < r; i++) { - combination[i] = combination[i - 1] + 1; - } - } - - return combinations; - } - - public static void main(String[] args) { - IterativeCombinationGenerator generator = new IterativeCombinationGenerator(); - List combinations = generator.generate(N, R); - System.out.println(combinations.size()); - for (int[] combination : combinations) { - System.out.println(Arrays.toString(combination)); - } - } -} diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SelectionRecursiveCombinationGenerator.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SelectionRecursiveCombinationGenerator.java deleted file mode 100644 index 52305b8c2f4e..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SelectionRecursiveCombinationGenerator.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.baeldung.algorithms.combination; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class SelectionRecursiveCombinationGenerator { - - private static final int N = 6; - private static final int R = 3; - - /** - * Generate all combinations of r elements from a set - * @param n - number of elements in input set - * @param r - number of elements to be chosen - * @return the list containing all combinations - */ - public List generate(int n, int r) { - List combinations = new ArrayList<>(); - helper(combinations, new int[r], 0, n - 1, 0); - return combinations; - } - - /** - * Choose elements from set by recursing over elements selected - * @param combinations - List to store generated combinations - * @param data - current combination - * @param start - starting element of remaining set - * @param end - last element of remaining set - * @param index - number of elements chosen so far. - */ - private void helper(List combinations, int data[], int start, int end, int index) { - if (index == data.length) { - int[] combination = data.clone(); - combinations.add(combination); - } else { - int max = Math.min(end, end + 1 - data.length + index); - for (int i = start; i <= max; i++) { - data[index] = i; - helper(combinations, data, i + 1, end, index + 1); - } - } - } - - public static void main(String[] args) { - SelectionRecursiveCombinationGenerator generator = new SelectionRecursiveCombinationGenerator(); - List combinations = generator.generate(N, R); - for (int[] combination : combinations) { - System.out.println(Arrays.toString(combination)); - } - System.out.printf("generated %d combinations of %d items from %d ", combinations.size(), R, N); - } -} diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SetRecursiveCombinationGenerator.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SetRecursiveCombinationGenerator.java deleted file mode 100644 index a73447b31df2..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/combination/SetRecursiveCombinationGenerator.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.baeldung.algorithms.combination; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class SetRecursiveCombinationGenerator { - - private static final int N = 5; - private static final int R = 2; - - /** - * Generate all combinations of r elements from a set - * @param n - number of elements in set - * @param r - number of elements in selection - * @return the list containing all combinations - */ - public List generate(int n, int r) { - List combinations = new ArrayList<>(); - helper(combinations, new int[r], 0, n-1, 0); - return combinations; - } - - /** - * @param combinations - List to contain the generated combinations - * @param data - List of elements in the selection - * @param start - index of the starting element in the remaining set - * @param end - index of the last element in the set - * @param index - number of elements selected so far - */ - private void helper(List combinations, int data[], int start, int end, int index) { - if (index == data.length) { - int[] combination = data.clone(); - combinations.add(combination); - } else if (start <= end) { - data[index] = start; - helper(combinations, data, start + 1, end, index + 1); - helper(combinations, data, start + 1, end, index); - } - } - - public static void main(String[] args) { - SetRecursiveCombinationGenerator generator = new SetRecursiveCombinationGenerator(); - List combinations = generator.generate(N, R); - for (int[] combination : combinations) { - System.out.println(Arrays.toString(combination)); - } - System.out.printf("generated %d combinations of %d items from %d ", combinations.size(), R, N); - } -} diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/factorial/Factorial.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/factorial/Factorial.java deleted file mode 100644 index 43d2221773b0..000000000000 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/factorial/Factorial.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.baeldung.algorithms.factorial; - -import java.math.BigInteger; -import java.util.stream.LongStream; - -import org.apache.commons.math3.util.CombinatoricsUtils; - -import com.google.common.math.BigIntegerMath; - -public class Factorial { - - public long factorialUsingForLoop(int n) { - long fact = 1; - for (int i = 2; i <= n; i++) { - fact = fact * i; - } - return fact; - } - - public long factorialUsingStreams(int n) { - return LongStream.rangeClosed(1, n) - .reduce(1, (long x, long y) -> x * y); - } - - public long factorialUsingRecursion(int n) { - if (n <= 2) { - return n; - } - return n * factorialUsingRecursion(n - 1); - } - - private Long[] factorials = new Long[20]; - - public long factorialUsingMemoize(int n) { - - if (factorials[n] != null) { - return factorials[n]; - } - - if (n <= 2) { - return n; - } - long nthValue = n * factorialUsingMemoize(n - 1); - factorials[n] = nthValue; - return nthValue; - } - - public BigInteger factorialHavingLargeResult(int n) { - BigInteger result = BigInteger.ONE; - for (int i = 2; i <= n; i++) - result = result.multiply(BigInteger.valueOf(i)); - return result; - } - - public long factorialUsingApacheCommons(int n) { - return CombinatoricsUtils.factorial(n); - } - - public BigInteger factorialUsingGuava(int n) { - return BigIntegerMath.factorial(n); - } - -} diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/MonteCarloTreeSearch.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/MonteCarloTreeSearch.java index 9835e5f53470..a4918f674dbd 100644 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/MonteCarloTreeSearch.java +++ b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/MonteCarloTreeSearch.java @@ -2,9 +2,9 @@ import java.util.List; +import com.baeldung.algorithms.mcts.tictactoe.Board; import com.baeldung.algorithms.mcts.tree.Node; import com.baeldung.algorithms.mcts.tree.Tree; -import com.baeldung.algorithms.mcts.tictactoe.Board; public class MonteCarloTreeSearch { diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/UCT.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/UCT.java index b345bbec09b2..52707aab55e6 100644 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/UCT.java +++ b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/montecarlo/UCT.java @@ -2,6 +2,7 @@ import java.util.Collections; import java.util.Comparator; +import java.util.List; import com.baeldung.algorithms.mcts.tree.Node; diff --git a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/tictactoe/Board.java b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/tictactoe/Board.java index 1402c5e22dba..5ca2d626f1f8 100644 --- a/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/tictactoe/Board.java +++ b/algorithms-miscellaneous-1/src/main/java/com/baeldung/algorithms/mcts/tictactoe/Board.java @@ -1,6 +1,7 @@ package com.baeldung.algorithms.mcts.tictactoe; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class Board { diff --git a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/binarysearch/BinarySearchUnitTest.java b/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/binarysearch/BinarySearchUnitTest.java index 2855c5667da4..826682d373d0 100644 --- a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/binarysearch/BinarySearchUnitTest.java +++ b/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/binarysearch/BinarySearchUnitTest.java @@ -5,6 +5,7 @@ import org.junit.Assert; import org.junit.Test; +import com.baeldung.algorithms.binarysearch.BinarySearch; public class BinarySearchUnitTest { diff --git a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/combination/CombinationUnitTest.java b/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/combination/CombinationUnitTest.java deleted file mode 100644 index 987b6ddae640..000000000000 --- a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/combination/CombinationUnitTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.baeldung.algorithms.combination; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.util.List; - -import org.junit.Test; - -public class CombinationUnitTest { - - private static final int N = 5; - private static final int R = 3; - private static final int nCr = 10; - - @Test - public void givenSetAndSelectionSize_whenCalculatedUsingSetRecursiveAlgorithm_thenExpectedCount() { - SetRecursiveCombinationGenerator generator = new SetRecursiveCombinationGenerator(); - List selection = generator.generate(N, R); - assertEquals(nCr, selection.size()); - } - - @Test - public void givenSetAndSelectionSize_whenCalculatedUsingSelectionRecursiveAlgorithm_thenExpectedCount() { - SelectionRecursiveCombinationGenerator generator = new SelectionRecursiveCombinationGenerator(); - List selection = generator.generate(N, R); - assertEquals(nCr, selection.size()); - } - - @Test - public void givenSetAndSelectionSize_whenCalculatedUsingIterativeAlgorithm_thenExpectedCount() { - IterativeCombinationGenerator generator = new IterativeCombinationGenerator(); - List selection = generator.generate(N, R); - assertEquals(nCr, selection.size()); - } -} diff --git a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/factorial/FactorialUnitTest.java b/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/factorial/FactorialUnitTest.java deleted file mode 100644 index c185dba62bc7..000000000000 --- a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/factorial/FactorialUnitTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.baeldung.algorithms.factorial; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.math.BigInteger; - -import org.junit.Before; -import org.junit.Test; - -public class FactorialUnitTest { - - Factorial factorial; - - @Before - public void setup() { - factorial = new Factorial(); - } - - @Test - public void whenCalculatingFactorialUsingForLoop_thenCorrect() { - int n = 5; - - assertThat(factorial.factorialUsingForLoop(n)).isEqualTo(120); - } - - @Test - public void whenCalculatingFactorialUsingStreams_thenCorrect() { - int n = 5; - - assertThat(factorial.factorialUsingStreams(n)).isEqualTo(120); - } - - @Test - public void whenCalculatingFactorialUsingRecursion_thenCorrect() { - int n = 5; - - assertThat(factorial.factorialUsingRecursion(n)).isEqualTo(120); - } - - @Test - public void whenCalculatingFactorialUsingMemoize_thenCorrect() { - int n = 5; - - assertThat(factorial.factorialUsingMemoize(n)).isEqualTo(120); - - n = 6; - - assertThat(factorial.factorialUsingMemoize(n)).isEqualTo(720); - } - - @Test - public void whenCalculatingFactorialHavingLargeResult_thenCorrect() { - int n = 22; - - assertThat(factorial.factorialHavingLargeResult(n)).isEqualTo(new BigInteger("1124000727777607680000")); - } - - @Test - public void whenCalculatingFactorialUsingApacheCommons_thenCorrect() { - int n = 5; - - assertThat(factorial.factorialUsingApacheCommons(n)).isEqualTo(120); - } - - @Test - public void whenCalculatingFactorialUsingGuava_thenCorrect() { - int n = 22; - - assertThat(factorial.factorialUsingGuava(n)).isEqualTo(new BigInteger("1124000727777607680000")); - } - -} diff --git a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/minimax/MinimaxUnitTest.java b/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/minimax/MinimaxUnitTest.java index 070e29f30c87..59f0fcf0536f 100644 --- a/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/minimax/MinimaxUnitTest.java +++ b/algorithms-miscellaneous-1/src/test/java/com/baeldung/algorithms/minimax/MinimaxUnitTest.java @@ -4,6 +4,8 @@ import org.junit.Test; import static org.junit.Assert.*; +import com.baeldung.algorithms.minimax.MiniMax; +import com.baeldung.algorithms.minimax.Tree; public class MinimaxUnitTest { private Tree gameTree; diff --git a/algorithms-miscellaneous-2/src/test/java/com/baeldung/algorithms/conversion/ByteArrayConverterUnitTest.java b/algorithms-miscellaneous-2/src/test/java/com/baeldung/algorithms/conversion/ByteArrayConverterUnitTest.java index 7bb57ca07ff5..be6180270563 100644 --- a/algorithms-miscellaneous-2/src/test/java/com/baeldung/algorithms/conversion/ByteArrayConverterUnitTest.java +++ b/algorithms-miscellaneous-2/src/test/java/com/baeldung/algorithms/conversion/ByteArrayConverterUnitTest.java @@ -1,6 +1,7 @@ package com.baeldung.algorithms.conversion; import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import org.apache.commons.codec.DecoderException; @@ -8,6 +9,7 @@ import org.junit.Before; import org.junit.Test; +import com.baeldung.algorithms.conversion.HexStringConverter; public class ByteArrayConverterUnitTest { diff --git a/algorithms-miscellaneous-2/src/test/resources/graph.png b/algorithms-miscellaneous-2/src/test/resources/graph.png index c4b7531ee913a4e6659728e4cc33419ec67ecb62..7165a517824fec3ed31dea351d9b37dc4176b875 100644 GIT binary patch literal 9637 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 OsXlq8RI2#${r>?QF>Mb3 diff --git a/java-math/pom.xml b/java-math/pom.xml index a009116685b9..159d053df33a 100644 --- a/java-math/pom.xml +++ b/java-math/pom.xml @@ -58,26 +58,6 @@ - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - - - com/baeldung/math/dijkstra/* - - - com/baeldung/math/dijkstra/* - - - - - - - 3.6.1 3.9.0