From 84bcc8115cf30a7a8a18cc47de76674aa960c766 Mon Sep 17 00:00:00 2001 From: "DESKTOP-MG5QNKB\\harsha" Date: Sun, 9 Jun 2019 00:19:20 -0400 Subject: [PATCH 01/10] Hexagonal Architecture in Java --- .../hexagon/ConstantTaxRateRepository.java | 11 +++++++++++ .../com/baeldung/hexagon/TaxCalculator.java | 17 +++++++++++++++++ .../java/com/baeldung/hexagon/TaxFactory.java | 13 +++++++++++++ .../com/baeldung/hexagon/TaxRateRepository.java | 6 ++++++ .../java/com/baeldung/hexagon/TaxService.java | 7 +++++++ .../java/com/baeldung/hexagon/TestTaxUser.java | 9 +++++++++ 6 files changed, 63 insertions(+) create mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java create mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java create mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java create mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java create mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java create mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java new file mode 100644 index 0000000000..fb7b2963c0 --- /dev/null +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java @@ -0,0 +1,11 @@ +package com.baeldung.hexagon; + +public class ConstantTaxRateRepository implements TaxRateRepository{ + + private static final double TAX_RATE = 0.13d; + + @Override + public double getRate() { + return TAX_RATE; + } +} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java new file mode 100644 index 0000000000..6a2f875f5b --- /dev/null +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java @@ -0,0 +1,17 @@ +package com.baeldung.hexagon; + +public class TaxCalculator implements TaxService { + + private TaxRateRepository taxRateRepository; + + public TaxCalculator(TaxRateRepository repository) { + super(); + taxRateRepository = repository; + } + + @Override + public double calculateTax(Double amount) { + return amount * taxRateRepository.getRate(); + } + +} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java new file mode 100644 index 0000000000..d35c3fca2e --- /dev/null +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java @@ -0,0 +1,13 @@ +package com.baeldung.hexagon; + +public class TaxFactory { + + public static TaxService getTaxService() { + return new TaxCalculator(getTaxRepository()); + } + + public static TaxRateRepository getTaxRepository() { + return new ConstantTaxRateRepository(); + } + +} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java new file mode 100644 index 0000000000..ca1623a4ef --- /dev/null +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java @@ -0,0 +1,6 @@ +package com.baeldung.hexagon; + +public interface TaxRateRepository { + + public double getRate(); +} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java new file mode 100644 index 0000000000..a6652d81ff --- /dev/null +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java @@ -0,0 +1,7 @@ +package com.baeldung.hexagon; + +public interface TaxService { + + public double calculateTax(Double amount); + +} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java new file mode 100644 index 0000000000..82ab5fafa8 --- /dev/null +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java @@ -0,0 +1,9 @@ +package com.baeldung.hexagon; + +public class TestTaxUser { + + public double calculateTax(Double amount) { + return TaxFactory.getTaxService().calculateTax(amount); + } + +} From a51abbab58fba957dc879307ea167e8724bbbea9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-MG5QNKB\\harsha" Date: Wed, 12 Jun 2019 00:54:16 -0400 Subject: [PATCH 02/10] Hexagonal Architecture in Java - incorporated feedback --- .../hexagon/ConstantTaxRateRepository.java | 13 ++++++------- .../com/baeldung/hexagon/TaxCalculator.java | 19 +++++++++---------- .../java/com/baeldung/hexagon/TaxFactory.java | 14 ++++++-------- .../baeldung/hexagon/TaxRateRepository.java | 3 +-- .../java/com/baeldung/hexagon/TaxService.java | 4 +--- .../com/baeldung/hexagon/TestTaxUser.java | 8 ++++---- 6 files changed, 27 insertions(+), 34 deletions(-) diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java index fb7b2963c0..e0b653a51f 100644 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java @@ -1,11 +1,10 @@ package com.baeldung.hexagon; -public class ConstantTaxRateRepository implements TaxRateRepository{ +public class ConstantTaxRateRepository implements TaxRateRepository { + private static final double TAX_RATE = 0.13d; - private static final double TAX_RATE = 0.13d; - - @Override - public double getRate() { - return TAX_RATE; - } + @Override + public double getRate() { + return TAX_RATE; + } } diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java index 6a2f875f5b..585548d419 100644 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java @@ -2,16 +2,15 @@ package com.baeldung.hexagon; public class TaxCalculator implements TaxService { - private TaxRateRepository taxRateRepository; + private TaxRateRepository taxRateRepository; - public TaxCalculator(TaxRateRepository repository) { - super(); - taxRateRepository = repository; - } + public TaxCalculator(TaxRateRepository repository) { + super(); + taxRateRepository = repository; + } - @Override - public double calculateTax(Double amount) { - return amount * taxRateRepository.getRate(); - } - + @Override + public double calculateTax(double amount) { + return amount * taxRateRepository.getRate(); + } } diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java index d35c3fca2e..80a5fa0ed6 100644 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java @@ -1,13 +1,11 @@ package com.baeldung.hexagon; public class TaxFactory { - - public static TaxService getTaxService() { - return new TaxCalculator(getTaxRepository()); - } - - public static TaxRateRepository getTaxRepository() { - return new ConstantTaxRateRepository(); - } + public static TaxService getTaxService() { + return new TaxCalculator(getTaxRepository()); + } + public static TaxRateRepository getTaxRepository() { + return new ConstantTaxRateRepository(); + } } diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java index ca1623a4ef..0054a6ef60 100644 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java @@ -1,6 +1,5 @@ package com.baeldung.hexagon; public interface TaxRateRepository { - - public double getRate(); + public double getRate(); } diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java index a6652d81ff..40de255027 100644 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java @@ -1,7 +1,5 @@ package com.baeldung.hexagon; public interface TaxService { - - public double calculateTax(Double amount); - + public double calculateTax(double amount); } diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java index 82ab5fafa8..92623f37bf 100644 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java +++ b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java @@ -2,8 +2,8 @@ package com.baeldung.hexagon; public class TestTaxUser { - public double calculateTax(Double amount) { - return TaxFactory.getTaxService().calculateTax(amount); - } - + public double calculateTax(Double amount) { + return TaxFactory.getTaxService() + .calculateTax(amount); + } } From bacef5cfa23d6477736bd15cf2396f3c8a4f66d0 Mon Sep 17 00:00:00 2001 From: harshavs Date: Thu, 27 Jun 2019 00:46:19 -0400 Subject: [PATCH 03/10] BAEL-2999 --- .../java/com/baeldung/array/JaggedArray.java | 49 ----------- .../baeldung/array/MultiDimensionalArray.java | 83 ++++++++++++++++++ .../baeldung/array/JaggedArrayUnitTest.java | 53 ------------ .../array/MultiDimensionalArrayUnitTest.java | 86 +++++++++++++++++++ 4 files changed, 169 insertions(+), 102 deletions(-) delete mode 100644 core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/JaggedArray.java create mode 100644 core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java delete mode 100644 core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/JaggedArrayUnitTest.java create mode 100644 core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/JaggedArray.java b/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/JaggedArray.java deleted file mode 100644 index 36cfc88b95..0000000000 --- a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/JaggedArray.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.baeldung.array; - -import java.util.Arrays; -import java.util.Scanner; - -public class JaggedArray { - - int[][] shortHandFormInitialization() { - int[][] jaggedArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; - return jaggedArr; - } - - int[][] declarationAndThenInitialization() { - int[][] jaggedArr = new int[3][]; - jaggedArr[0] = new int[] { 1, 2 }; - jaggedArr[1] = new int[] { 3, 4, 5 }; - jaggedArr[2] = new int[] { 6, 7, 8, 9 }; - return jaggedArr; - } - - int[][] declarationAndThenInitializationUsingUserInputs() { - int[][] jaggedArr = new int[3][]; - jaggedArr[0] = new int[2]; - jaggedArr[1] = new int[3]; - jaggedArr[2] = new int[4]; - initializeElements(jaggedArr); - return jaggedArr; - } - - void initializeElements(int[][] jaggedArr) { - Scanner sc = new Scanner(System.in); - for (int outer = 0; outer < jaggedArr.length; outer++) { - for (int inner = 0; inner < jaggedArr[outer].length; inner++) { - jaggedArr[outer][inner] = sc.nextInt(); - } - } - } - - void printElements(int[][] jaggedArr) { - for (int index = 0; index < jaggedArr.length; index++) { - System.out.println(Arrays.toString(jaggedArr[index])); - } - } - - int[] getElementAtGivenIndex(int[][] jaggedArr, int index) { - return jaggedArr[index]; - } - -} diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java b/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java new file mode 100644 index 0000000000..b0aece649b --- /dev/null +++ b/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java @@ -0,0 +1,83 @@ +package com.baeldung.array; + +import java.util.Arrays; +import java.util.Scanner; + +public class MultiDimensionalArray { + + int[][] shortHandFormInitialization() { + int[][] multiDimensionalArray = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + return multiDimensionalArray; + } + + int[][] declarationAndThenInitialization() { + int[][] multiDimensionalArray = new int[3][]; + multiDimensionalArray[0] = new int[] { 1, 2 }; + multiDimensionalArray[1] = new int[] { 3, 4, 5 }; + multiDimensionalArray[2] = new int[] { 6, 7, 8, 9 }; + return multiDimensionalArray; + } + + int[][] declarationAndThenInitializationUsingUserInputs() { + int[][] multiDimensionalArray = new int[3][]; + multiDimensionalArray[0] = new int[2]; + multiDimensionalArray[1] = new int[3]; + multiDimensionalArray[2] = new int[4]; + initializeElements(multiDimensionalArray); + return multiDimensionalArray; + } + + void initializeElements(int[][] multiDimensionalArray) { + Scanner sc = new Scanner(System.in); + for (int outer = 0; outer < multiDimensionalArray.length; outer++) { + for (int inner = 0; inner < multiDimensionalArray[outer].length; inner++) { + multiDimensionalArray[outer][inner] = sc.nextInt(); + } + } + } + + void initialize2DArray(int[][] multiDimensionalArray) { + for (int[] array : multiDimensionalArray) { + Arrays.fill(array, 7); + } + } + + void printElements(int[][] multiDimensionalArray) { + for (int index = 0; index < multiDimensionalArray.length; index++) { + System.out.println(Arrays.toString(multiDimensionalArray[index])); + } + } + + int[] getElementAtGivenIndex(int[][] multiDimensionalArray, int index) { + return multiDimensionalArray[index]; + } + + int[] findLengthOfElements(int[][] multiDimensionalArray) { + int[] arrayOfLengths = new int[multiDimensionalArray.length]; + for (int i = 0; i < multiDimensionalArray.length; i++) { + arrayOfLengths[i] = multiDimensionalArray[i].length; + } + return arrayOfLengths; + } + + Integer[] findLengthOfElements(Integer[][] multiDimensionalArray) { + return Arrays.stream(multiDimensionalArray) + .map(array -> array.length) + .toArray(Integer[]::new); + } + + int[][] copy2DArray(int[][] arrayOfArrays) { + int[][] copied2DArray = new int[arrayOfArrays.length][]; + for (int i = 0; i < arrayOfArrays.length; i++) { + int[] array = arrayOfArrays[i]; + copied2DArray[i] = Arrays.copyOf(array, array.length); + } + return copied2DArray; + } + + Integer[][] copy2DArray(Integer[][] arrayOfArrays) { + return Arrays.stream(arrayOfArrays) + .map(array -> Arrays.copyOf(array, array.length)) + .toArray(Integer[][]::new); + } +} diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/JaggedArrayUnitTest.java b/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/JaggedArrayUnitTest.java deleted file mode 100644 index a4dd7e25c3..0000000000 --- a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/JaggedArrayUnitTest.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.baeldung.array; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintStream; - -import org.junit.Test; - -public class JaggedArrayUnitTest { - - private JaggedArray obj = new JaggedArray(); - - @Test - public void whenInitializedUsingShortHandForm_thenCorrect() { - assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.shortHandFormInitialization()); - } - - @Test - public void whenInitializedWithDeclarationAndThenInitalization_thenCorrect() { - assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.declarationAndThenInitialization()); - } - - @Test - public void whenInitializedWithDeclarationAndThenInitalizationUsingUserInputs_thenCorrect() { - InputStream is = new ByteArrayInputStream("1 2 3 4 5 6 7 8 9".getBytes()); - System.setIn(is); - assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.declarationAndThenInitializationUsingUserInputs()); - System.setIn(System.in); - } - - @Test - public void givenJaggedArrayAndAnIndex_thenReturnArrayAtGivenIndex() { - int[][] jaggedArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; - assertArrayEquals(new int[] { 1, 2 }, obj.getElementAtGivenIndex(jaggedArr, 0)); - assertArrayEquals(new int[] { 3, 4, 5 }, obj.getElementAtGivenIndex(jaggedArr, 1)); - assertArrayEquals(new int[] { 6, 7, 8, 9 }, obj.getElementAtGivenIndex(jaggedArr, 2)); - } - - @Test - public void givenJaggedArray_whenUsingArraysAPI_thenVerifyPrintedElements() { - int[][] jaggedArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; - ByteArrayOutputStream outContent = new ByteArrayOutputStream(); - System.setOut(new PrintStream(outContent)); - obj.printElements(jaggedArr); - assertEquals("[1, 2][3, 4, 5][6, 7, 8, 9]", outContent.toString().replace("\r", "").replace("\n", "")); - System.setOut(System.out); - } - -} diff --git a/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java b/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java new file mode 100644 index 0000000000..8980eaa9dc --- /dev/null +++ b/core-java-modules/core-java-arrays/src/test/java/com/baeldung/array/MultiDimensionalArrayUnitTest.java @@ -0,0 +1,86 @@ +package com.baeldung.array; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.PrintStream; + +import org.junit.Test; + +public class MultiDimensionalArrayUnitTest { + + private MultiDimensionalArray obj = new MultiDimensionalArray(); + + @Test + public void whenInitializedUsingShortHandForm_thenCorrect() { + assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.shortHandFormInitialization()); + } + + @Test + public void whenInitializedWithDeclarationAndThenInitalization_thenCorrect() { + assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.declarationAndThenInitialization()); + } + + @Test + public void whenInitializedWithDeclarationAndThenInitalizationUsingUserInputs_thenCorrect() { + InputStream is = new ByteArrayInputStream("1 2 3 4 5 6 7 8 9".getBytes()); + System.setIn(is); + assertArrayEquals(new int[][] { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }, obj.declarationAndThenInitializationUsingUserInputs()); + System.setIn(System.in); + } + + @Test + public void givenMultiDimensionalArrayAndAnIndex_thenReturnArrayAtGivenIndex() { + int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + assertArrayEquals(new int[] { 1, 2 }, obj.getElementAtGivenIndex(multiDimensionalArr, 0)); + assertArrayEquals(new int[] { 3, 4, 5 }, obj.getElementAtGivenIndex(multiDimensionalArr, 1)); + assertArrayEquals(new int[] { 6, 7, 8, 9 }, obj.getElementAtGivenIndex(multiDimensionalArr, 2)); + } + + @Test + public void givenMultiDimensionalArray_whenUsingArraysAPI_thenVerifyPrintedElements() { + int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + obj.printElements(multiDimensionalArr); + assertEquals("[1, 2][3, 4, 5][6, 7, 8, 9]", outContent.toString().replace("\r", "").replace("\n", "")); + System.setOut(System.out); + } + + @Test + public void givenMultiDimensionalArray_whenUsingArraysFill_thenVerifyInitialize2DArray() { + int[][] multiDimensionalArr = new int[3][]; + multiDimensionalArr[0] = new int[2]; + multiDimensionalArr[1] = new int[3]; + multiDimensionalArr[2] = new int[4]; + obj.initialize2DArray(multiDimensionalArr); + assertArrayEquals(new int[][] {{7,7}, {7,7,7}, {7,7,7,7}}, multiDimensionalArr); + } + + @Test + public void givenMultiDimensionalArray_whenUsingIteration_thenVerifyFindLengthOfElements() { + int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + assertArrayEquals(new int[]{2,3,4}, obj.findLengthOfElements(multiDimensionalArr)); + } + + @Test + public void givenMultiDimensionalArray_whenUsingArraysStream_thenVerifyFindLengthOfElements() { + Integer[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + assertArrayEquals(new Integer[]{2,3,4}, obj.findLengthOfElements(multiDimensionalArr)); + } + + @Test + public void givenMultiDimensionalArray_whenUsingArraysCopyOf_thenVerifyCopy2DArray() { + int[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + assertArrayEquals(multiDimensionalArr, obj.copy2DArray(multiDimensionalArr)); + } + + @Test + public void givenMultiDimensionalArray_whenUsingArraysStream_thenVerifyCopy2DArray() { + Integer[][] multiDimensionalArr = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } }; + assertArrayEquals(multiDimensionalArr, obj.copy2DArray(multiDimensionalArr)); + } +} From ee3acb502b1d3cfc1e991aedc12e3b35864eda63 Mon Sep 17 00:00:00 2001 From: harshavs Date: Thu, 27 Jun 2019 00:50:51 -0400 Subject: [PATCH 04/10] Removing the evaluation article code. --- .../hexagon/ConstantTaxRateRepository.java | 10 ---------- .../java/com/baeldung/hexagon/TaxCalculator.java | 16 ---------------- .../java/com/baeldung/hexagon/TaxFactory.java | 11 ----------- .../com/baeldung/hexagon/TaxRateRepository.java | 5 ----- .../java/com/baeldung/hexagon/TaxService.java | 5 ----- .../java/com/baeldung/hexagon/TestTaxUser.java | 9 --------- 6 files changed, 56 deletions(-) delete mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java delete mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java delete mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java delete mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java delete mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java delete mode 100644 core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java deleted file mode 100644 index e0b653a51f..0000000000 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/ConstantTaxRateRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.baeldung.hexagon; - -public class ConstantTaxRateRepository implements TaxRateRepository { - private static final double TAX_RATE = 0.13d; - - @Override - public double getRate() { - return TAX_RATE; - } -} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java deleted file mode 100644 index 585548d419..0000000000 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxCalculator.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.baeldung.hexagon; - -public class TaxCalculator implements TaxService { - - private TaxRateRepository taxRateRepository; - - public TaxCalculator(TaxRateRepository repository) { - super(); - taxRateRepository = repository; - } - - @Override - public double calculateTax(double amount) { - return amount * taxRateRepository.getRate(); - } -} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java deleted file mode 100644 index 80a5fa0ed6..0000000000 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxFactory.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.baeldung.hexagon; - -public class TaxFactory { - public static TaxService getTaxService() { - return new TaxCalculator(getTaxRepository()); - } - - public static TaxRateRepository getTaxRepository() { - return new ConstantTaxRateRepository(); - } -} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java deleted file mode 100644 index 0054a6ef60..0000000000 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxRateRepository.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.hexagon; - -public interface TaxRateRepository { - public double getRate(); -} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java deleted file mode 100644 index 40de255027..0000000000 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TaxService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.baeldung.hexagon; - -public interface TaxService { - public double calculateTax(double amount); -} diff --git a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java b/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java deleted file mode 100644 index 92623f37bf..0000000000 --- a/core-java-modules/core-java-lang-oop/src/main/java/com/baeldung/hexagon/TestTaxUser.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.baeldung.hexagon; - -public class TestTaxUser { - - public double calculateTax(Double amount) { - return TaxFactory.getTaxService() - .calculateTax(amount); - } -} From 2ceab19b42453caf9891f2e47b41c2ecf36ce16c Mon Sep 17 00:00:00 2001 From: harshavs Date: Wed, 3 Jul 2019 19:23:18 -0400 Subject: [PATCH 05/10] Corrected indentation for continuations --- .../java/com/baeldung/array/MultiDimensionalArray.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java b/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java index b0aece649b..4e01b99a14 100644 --- a/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java +++ b/core-java-modules/core-java-arrays/src/main/java/com/baeldung/array/MultiDimensionalArray.java @@ -62,8 +62,8 @@ public class MultiDimensionalArray { Integer[] findLengthOfElements(Integer[][] multiDimensionalArray) { return Arrays.stream(multiDimensionalArray) - .map(array -> array.length) - .toArray(Integer[]::new); + .map(array -> array.length) + .toArray(Integer[]::new); } int[][] copy2DArray(int[][] arrayOfArrays) { @@ -77,7 +77,7 @@ public class MultiDimensionalArray { Integer[][] copy2DArray(Integer[][] arrayOfArrays) { return Arrays.stream(arrayOfArrays) - .map(array -> Arrays.copyOf(array, array.length)) - .toArray(Integer[][]::new); + .map(array -> Arrays.copyOf(array, array.length)) + .toArray(Integer[][]::new); } } From 8c7ca1f3a22aed6f1d59404f50bd5c72c9d982db Mon Sep 17 00:00:00 2001 From: harshavs Date: Fri, 2 Aug 2019 01:50:19 -0400 Subject: [PATCH 06/10] Added test cases that use @Sql, @SqlConfig and @SqlGroup --- .../com/baeldung/boot/domain/Employee.java | 50 +++++++++++++++++++ .../boot/repository/EmployeeRepository.java | 15 ++++++ .../tests/SpringBootInitialLoadTest.java | 36 +++++++++++++ .../SpringBootSqlGroupAnnotationTest.java | 35 +++++++++++++ .../src/test/resources/drop_employees.sql | 1 + .../src/test/resources/employees_schema.sql | 8 +++ .../employees_schema_with_comments.sql | 10 ++++ .../src/test/resources/import_employees.sql | 3 ++ .../resources/import_senior_employees.sql | 2 + 9 files changed, 160 insertions(+) create mode 100644 persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java create mode 100644 persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/repository/EmployeeRepository.java create mode 100644 persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java create mode 100644 persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java create mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql create mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/employees_schema.sql create mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql create mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/import_employees.sql create mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/import_senior_employees.sql diff --git a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java new file mode 100644 index 0000000000..c96aca9921 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java @@ -0,0 +1,50 @@ +package com.baeldung.boot.domain; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * @author harshavs + * @since 2019-08-01 + */ +@Entity +@Table(name = "employees") +public class Employee { + + @Id + @GeneratedValue + private int id; + private String name; + private String title; + + public Employee() { + + } + + public Employee(String name, String title) { + this.name = name; + this.title = title; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public int getId() { + return id; + } +} diff --git a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/repository/EmployeeRepository.java b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/repository/EmployeeRepository.java new file mode 100644 index 0000000000..e5b0be6c97 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/repository/EmployeeRepository.java @@ -0,0 +1,15 @@ +package com.baeldung.boot.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import com.baeldung.boot.domain.Employee; + +/** + * @author harshavs + * @since 2019-08-01 + */ +@Repository +public interface EmployeeRepository extends JpaRepository { + +} diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java new file mode 100644 index 0000000000..105d18166c --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java @@ -0,0 +1,36 @@ +package com.baeldung.springbootinitialload.tests; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.jdbc.Sql; +import org.springframework.test.context.jdbc.SqlConfig; +import org.springframework.test.context.jdbc.SqlConfig.TransactionMode; +import org.springframework.test.context.junit4.SpringRunner; + +import com.baeldung.boot.Application; +import com.baeldung.boot.repository.EmployeeRepository; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = Application.class) +@Sql({ "/employees_schema.sql", "/import_employees.sql" }) +public class SpringBootInitialLoadTest { + + @Autowired + private EmployeeRepository employeeRepository; + + @Test + public void testLoadDataForTestClass() { + assertEquals(employeeRepository.findAll().size(), 3); + } + + @Test + @Sql(scripts = {"/import_senior_employees.sql" } + , config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) + public void testLoadDataForTestCase() { + assertEquals(employeeRepository.findAll().size(), 5); + } +} diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java new file mode 100644 index 0000000000..0f9724489f --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java @@ -0,0 +1,35 @@ +package com.baeldung.springbootinitialload.tests; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.jdbc.Sql; +import org.springframework.test.context.jdbc.Sql.ExecutionPhase; +import org.springframework.test.context.jdbc.SqlConfig; +import org.springframework.test.context.jdbc.SqlConfig.TransactionMode; +import org.springframework.test.context.jdbc.SqlGroup; +import org.springframework.test.context.junit4.SpringRunner; + +import com.baeldung.boot.Application; +import com.baeldung.boot.repository.EmployeeRepository; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = Application.class) +@SqlGroup({ + @Sql(scripts = "/employees_schema_with_comments.sql", config = @SqlConfig(encoding = "utf-8", commentPrefix = "\\", transactionMode = TransactionMode.ISOLATED)), + @Sql("/import_employees.sql"), + @Sql(executionPhase = ExecutionPhase.AFTER_TEST_METHOD, scripts = { "/drop_employees.sql" }) }) +public class SpringBootSqlGroupAnnotationTest { + + @Autowired + private EmployeeRepository employeeRepository; + + @Test + public void testLoadDataForTestCase() { + assertEquals(employeeRepository.findAll().size(), 3); + } +} diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql b/persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql new file mode 100644 index 0000000000..eead688647 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql @@ -0,0 +1 @@ +drop table if exists EMPLOYEES; \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema.sql b/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema.sql new file mode 100644 index 0000000000..7b9e64190e --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema.sql @@ -0,0 +1,8 @@ +drop table EMPLOYEES if exists; + +create table EMPLOYEES( + ID int not null AUTO_INCREMENT, + NAME varchar(100) not null, + TITLE varchar(100), + PRIMARY KEY ( ID ) +); diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql b/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql new file mode 100644 index 0000000000..25805eba84 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql @@ -0,0 +1,10 @@ +--Drop the table +drop table EMPLOYEES if exists; + +--Create the table +create table EMPLOYEES( + ID int not null AUTO_INCREMENT, + NAME varchar(100) not null, + TITLE varchar(100), + PRIMARY KEY ( ID ) +); diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/import_employees.sql b/persistence-modules/spring-boot-persistence/src/test/resources/import_employees.sql new file mode 100644 index 0000000000..40442d2804 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/resources/import_employees.sql @@ -0,0 +1,3 @@ +insert into EMPLOYEES values(1, 'Harsha', 'Developer'); +insert into EMPLOYEES values(2, 'John', 'Tester'); +insert into EMPLOYEES values(3, 'Ram', 'Manager'); \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/import_senior_employees.sql b/persistence-modules/spring-boot-persistence/src/test/resources/import_senior_employees.sql new file mode 100644 index 0000000000..3d0819175b --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/test/resources/import_senior_employees.sql @@ -0,0 +1,2 @@ +insert into EMPLOYEES values(4, 'Eric', 'Senior Developer'); +insert into EMPLOYEES values(5, 'Vidhyaah', 'Senior Manager'); \ No newline at end of file From 29adc663756708b5d1640b3f330f43603adfd03e Mon Sep 17 00:00:00 2001 From: harshavs Date: Fri, 2 Aug 2019 02:56:36 -0400 Subject: [PATCH 07/10] Fixed formating and removed unused files --- .../com/baeldung/boot/domain/Employee.java | 52 +++++++++---------- .../tests/SpringBootInitialLoadTest.java | 18 +++---- .../SpringBootSqlGroupAnnotationTest.java | 21 ++++---- .../src/test/resources/drop_employees.sql | 1 - .../employees_schema_with_comments.sql | 10 ---- 5 files changed, 44 insertions(+), 58 deletions(-) delete mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql delete mode 100644 persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql diff --git a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java index c96aca9921..07e69a6f62 100644 --- a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java +++ b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/domain/Employee.java @@ -13,38 +13,38 @@ import javax.persistence.Table; @Table(name = "employees") public class Employee { - @Id - @GeneratedValue - private int id; - private String name; - private String title; + @Id + @GeneratedValue + private int id; + private String name; + private String title; - public Employee() { + public Employee() { - } + } - public Employee(String name, String title) { - this.name = name; - this.title = title; - } + public Employee(String name, String title) { + this.name = name; + this.title = title; + } - public String getName() { - return name; - } + public String getName() { + return name; + } - public void setName(String name) { - this.name = name; - } + public void setName(String name) { + this.name = name; + } - public String getTitle() { - return title; - } + public String getTitle() { + return title; + } - public void setTitle(String title) { - this.title = title; - } + public void setTitle(String title) { + this.title = title; + } - public int getId() { - return id; - } + public int getId() { + return id; + } } diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java index 105d18166c..cb5c877431 100644 --- a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java @@ -19,17 +19,17 @@ import com.baeldung.boot.repository.EmployeeRepository; @Sql({ "/employees_schema.sql", "/import_employees.sql" }) public class SpringBootInitialLoadTest { - @Autowired - private EmployeeRepository employeeRepository; + @Autowired + private EmployeeRepository employeeRepository; - @Test - public void testLoadDataForTestClass() { - assertEquals(employeeRepository.findAll().size(), 3); - } + @Test + public void testLoadDataForTestClass() { + assertEquals(employeeRepository.findAll().size(), 3); + } - @Test - @Sql(scripts = {"/import_senior_employees.sql" } - , config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) + @Test + @Sql(scripts = {"/import_senior_employees.sql" } + , config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) public void testLoadDataForTestCase() { assertEquals(employeeRepository.findAll().size(), 5); } diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java index 0f9724489f..3438f57fb8 100644 --- a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java @@ -2,13 +2,11 @@ package com.baeldung.springbootinitialload.tests; import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.jdbc.Sql; -import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.jdbc.SqlConfig; import org.springframework.test.context.jdbc.SqlConfig.TransactionMode; import org.springframework.test.context.jdbc.SqlGroup; @@ -19,17 +17,16 @@ import com.baeldung.boot.repository.EmployeeRepository; @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) -@SqlGroup({ - @Sql(scripts = "/employees_schema_with_comments.sql", config = @SqlConfig(encoding = "utf-8", commentPrefix = "\\", transactionMode = TransactionMode.ISOLATED)), - @Sql("/import_employees.sql"), - @Sql(executionPhase = ExecutionPhase.AFTER_TEST_METHOD, scripts = { "/drop_employees.sql" }) }) +@SqlGroup({ @Sql(scripts = "/employees_schema.sql", config = @SqlConfig(transactionMode = TransactionMode.ISOLATED)), + @Sql("/import_employees.sql")}) public class SpringBootSqlGroupAnnotationTest { - @Autowired - private EmployeeRepository employeeRepository; + @Autowired + private EmployeeRepository employeeRepository; - @Test - public void testLoadDataForTestCase() { - assertEquals(employeeRepository.findAll().size(), 3); - } + @Test + public void testLoadDataForTestCase() { + assertEquals(employeeRepository.findAll() + .size(), 3); + } } diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql b/persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql deleted file mode 100644 index eead688647..0000000000 --- a/persistence-modules/spring-boot-persistence/src/test/resources/drop_employees.sql +++ /dev/null @@ -1 +0,0 @@ -drop table if exists EMPLOYEES; \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql b/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql deleted file mode 100644 index 25805eba84..0000000000 --- a/persistence-modules/spring-boot-persistence/src/test/resources/employees_schema_with_comments.sql +++ /dev/null @@ -1,10 +0,0 @@ ---Drop the table -drop table EMPLOYEES if exists; - ---Create the table -create table EMPLOYEES( - ID int not null AUTO_INCREMENT, - NAME varchar(100) not null, - TITLE varchar(100), - PRIMARY KEY ( ID ) -); From e30f8c67145439c5ba7cb6b985281d69b2858f97 Mon Sep 17 00:00:00 2001 From: harshavs Date: Fri, 2 Aug 2019 09:49:19 -0400 Subject: [PATCH 08/10] Fixed Test file names as per convention --- ...ialLoadTest.java => SpringBootInitialLoadIntegrationTest.java} | 0 ...Test.java => SpringBootSqlGroupAnnotationIntegrationTest.java} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/{SpringBootInitialLoadTest.java => SpringBootInitialLoadIntegrationTest.java} (100%) rename persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/{SpringBootSqlGroupAnnotationTest.java => SpringBootSqlGroupAnnotationIntegrationTest.java} (100%) diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java similarity index 100% rename from persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadTest.java rename to persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java similarity index 100% rename from persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationTest.java rename to persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java From e35a8023ea15bece886aec404da4ede3b8f30a8c Mon Sep 17 00:00:00 2001 From: harshavs Date: Sat, 3 Aug 2019 00:11:01 -0400 Subject: [PATCH 09/10] Fixed Test file names as per convention --- .../SpringBootInitialLoadIntegrationTest.java | 15 ++++++++------- ...ringBootSqlGroupAnnotationIntegrationTest.java | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java index cb5c877431..0fed9bf4cc 100644 --- a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java @@ -17,20 +17,21 @@ import com.baeldung.boot.repository.EmployeeRepository; @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) @Sql({ "/employees_schema.sql", "/import_employees.sql" }) -public class SpringBootInitialLoadTest { +public class SpringBootInitialLoadIntegrationTest { @Autowired private EmployeeRepository employeeRepository; @Test public void testLoadDataForTestClass() { - assertEquals(employeeRepository.findAll().size(), 3); + assertEquals(employeeRepository.findAll() + .size(), 3); } @Test - @Sql(scripts = {"/import_senior_employees.sql" } - , config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) - public void testLoadDataForTestCase() { - assertEquals(employeeRepository.findAll().size(), 5); - } + @Sql(scripts = { "/import_senior_employees.sql" }, config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) + public void testLoadDataForTestCase() { + assertEquals(employeeRepository.findAll() + .size(), 5); + } } diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java index 3438f57fb8..ca574fe9a1 100644 --- a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java @@ -19,7 +19,7 @@ import com.baeldung.boot.repository.EmployeeRepository; @SpringBootTest(classes = Application.class) @SqlGroup({ @Sql(scripts = "/employees_schema.sql", config = @SqlConfig(transactionMode = TransactionMode.ISOLATED)), @Sql("/import_employees.sql")}) -public class SpringBootSqlGroupAnnotationTest { +public class SpringBootSqlGroupAnnotationIntegrationTest { @Autowired private EmployeeRepository employeeRepository; From cefb7e496eebe12887976a3ea4e3193a2397481d Mon Sep 17 00:00:00 2001 From: Harsha Veeravalli Date: Thu, 8 Aug 2019 13:48:37 +0200 Subject: [PATCH 10/10] Testcase feedback incorporated (#1) * Change * Incorporated feedback --- .../tests/SpringBootInitialLoadIntegrationTest.java | 12 ++++++------ .../SpringBootSqlGroupAnnotationIntegrationTest.java | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java index 0fed9bf4cc..fa2807777a 100644 --- a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootInitialLoadIntegrationTest.java @@ -16,7 +16,7 @@ import com.baeldung.boot.repository.EmployeeRepository; @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) -@Sql({ "/employees_schema.sql", "/import_employees.sql" }) +@Sql({"/employees_schema.sql", "/import_employees.sql"}) public class SpringBootInitialLoadIntegrationTest { @Autowired @@ -24,14 +24,14 @@ public class SpringBootInitialLoadIntegrationTest { @Test public void testLoadDataForTestClass() { - assertEquals(employeeRepository.findAll() - .size(), 3); + assertEquals(3, employeeRepository.findAll() + .size()); } @Test - @Sql(scripts = { "/import_senior_employees.sql" }, config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) + @Sql(scripts = {"/import_senior_employees.sql"}, config = @SqlConfig(encoding = "utf-8", transactionMode = TransactionMode.ISOLATED)) public void testLoadDataForTestCase() { - assertEquals(employeeRepository.findAll() - .size(), 5); + assertEquals(5, employeeRepository.findAll() + .size()); } } diff --git a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java index ca574fe9a1..0153d463a2 100644 --- a/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java +++ b/persistence-modules/spring-boot-persistence/src/test/java/com/baeldung/springbootinitialload/tests/SpringBootSqlGroupAnnotationIntegrationTest.java @@ -26,7 +26,6 @@ public class SpringBootSqlGroupAnnotationIntegrationTest { @Test public void testLoadDataForTestCase() { - assertEquals(employeeRepository.findAll() - .size(), 3); + assertEquals(3, employeeRepository.findAll().size()); } }