Merge pull request #572 from ishwardas/master
initial pull request for java - join and split arrays and collections
This commit is contained in:
commit
8e203dd204
|
@ -0,0 +1,44 @@
|
||||||
|
package org.baeldung.java.arrays;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class ArraysJoinAndSplitJUnitTest {
|
||||||
|
|
||||||
|
private final String[] sauces = {"Marinara", "Olive Oil"};
|
||||||
|
private final String[] cheeses = {"Mozzarella", "Feta", "Parmesan"};
|
||||||
|
private final String[] vegetables = {"Olives", "Spinach", "Green Peppers"};
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenThreeStringArrays_whenJoiningIntoOneStringArray_ShouldSucceed() throws Exception {
|
||||||
|
String[] toppings = new String[sauces.length + cheeses.length + vegetables.length];
|
||||||
|
|
||||||
|
System.arraycopy(sauces, 0, toppings, 0, sauces.length);
|
||||||
|
int AddedSoFar = sauces.length;
|
||||||
|
|
||||||
|
System.arraycopy(cheeses, 0, toppings, AddedSoFar, cheeses.length);
|
||||||
|
AddedSoFar += cheeses.length;
|
||||||
|
|
||||||
|
System.arraycopy(vegetables, 0, toppings, AddedSoFar, vegetables.length);
|
||||||
|
|
||||||
|
Assert.assertArrayEquals(toppings,
|
||||||
|
new String[] {"Marinara", "Olive Oil", "Mozzarella", "Feta",
|
||||||
|
"Parmesan", "Olives", "Spinach", "Green Peppers"} );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private final String[] customers = {"Jay", "Harry", "Ronnie", "Gary", "Ross"};
|
||||||
|
@Test
|
||||||
|
public void givenOneStringArray_whenSplittingInHalfTwoStringArrays_ShouldSucceed() throws Exception {
|
||||||
|
int ordersHalved = (customers.length / 2) + (customers.length % 2);
|
||||||
|
|
||||||
|
String[] driverOne = Arrays.copyOf(customers, ordersHalved);
|
||||||
|
String[] driverTwo = Arrays.copyOfRange(customers, ordersHalved, customers.length);
|
||||||
|
|
||||||
|
Assert.assertArrayEquals(driverOne, new String[] {"Jay", "Harry", "Ronnie"} );
|
||||||
|
Assert.assertArrayEquals(driverTwo, new String[] {"Gary", "Ross"} );
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,74 @@
|
||||||
|
package org.baeldung.java.collections;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class CollectionsJoinAndSplitJUnitTest {
|
||||||
|
|
||||||
|
public ArrayList<String> sauces = new ArrayList<String>();
|
||||||
|
public ArrayList<String> cheeses = new ArrayList<String>();
|
||||||
|
public ArrayList<String> vegetables = new ArrayList<String>();
|
||||||
|
|
||||||
|
public ArrayList<ArrayList<String>> ingredients = new ArrayList<ArrayList<String>>();
|
||||||
|
|
||||||
|
public CollectionsJoinAndSplitJUnitTest() throws Exception {
|
||||||
|
whenGeneratingTestData_ShouldSucceed();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenGeneratingTestData_ShouldSucceed() throws Exception {
|
||||||
|
sauces.clear();
|
||||||
|
sauces.add("Olive Oil");
|
||||||
|
sauces.add("Marinara");
|
||||||
|
|
||||||
|
cheeses.clear();
|
||||||
|
cheeses.add("Mozarella");
|
||||||
|
cheeses.add("Feta");
|
||||||
|
cheeses.add("Parmesan");
|
||||||
|
|
||||||
|
vegetables.clear();
|
||||||
|
vegetables.add("Olives");
|
||||||
|
vegetables.add("Spinach");
|
||||||
|
vegetables.add("Green Peppers");
|
||||||
|
|
||||||
|
ingredients.clear();
|
||||||
|
ingredients.add(sauces);
|
||||||
|
ingredients.add(cheeses);
|
||||||
|
ingredients.add(vegetables);
|
||||||
|
|
||||||
|
Assert.assertTrue(sauces.size() == 2);
|
||||||
|
Assert.assertTrue(cheeses.size() == 3);
|
||||||
|
Assert.assertTrue(vegetables.size() == 3);
|
||||||
|
Assert.assertTrue(ingredients.size() == 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenThreeArrayLists_whenJoiningIntoOneArrayList_ShouldSucceed() throws Exception {
|
||||||
|
ArrayList<ArrayList<String>> toppings = new ArrayList<ArrayList<String>>();
|
||||||
|
|
||||||
|
toppings.add(sauces);
|
||||||
|
toppings.add(cheeses);
|
||||||
|
toppings.add(vegetables);
|
||||||
|
|
||||||
|
Assert.assertTrue(toppings.size() == 3);
|
||||||
|
Assert.assertTrue(toppings.contains(sauces));
|
||||||
|
Assert.assertTrue(toppings.contains(cheeses));
|
||||||
|
Assert.assertTrue(toppings.contains(vegetables));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenOneArrayList_whenSplittingIntoTwoArrayLists_shouldSucceed() throws Exception {
|
||||||
|
ArrayList<ArrayList<String>> toppings = ingredients;
|
||||||
|
ArrayList<ArrayList<String>> removedToppings = new ArrayList<ArrayList<String>>();
|
||||||
|
|
||||||
|
removedToppings.add(toppings.remove(toppings.indexOf(vegetables)));
|
||||||
|
|
||||||
|
Assert.assertTrue(removedToppings.contains(vegetables));
|
||||||
|
Assert.assertTrue(removedToppings.size() == 1);
|
||||||
|
Assert.assertTrue(toppings.size() == 2);
|
||||||
|
Assert.assertTrue(toppings.contains(sauces));
|
||||||
|
Assert.assertTrue(toppings.contains(cheeses));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue