Merge pull request #6760 from pkoli/master
BAEL-2770 Added code and test cases
This commit is contained in:
commit
9b2148d8b9
|
@ -0,0 +1,34 @@
|
|||
package com.baeldung.array;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class AddElementToEndOfArray {
|
||||
|
||||
public Integer[] addElementUsingArraysCopyOf(Integer[] srcArray, int elementToAdd) {
|
||||
Integer[] destArray = Arrays.copyOf(srcArray, srcArray.length + 1);
|
||||
|
||||
destArray[destArray.length - 1] = elementToAdd;
|
||||
return destArray;
|
||||
}
|
||||
|
||||
public Integer[] addElementUsingArrayList(Integer[] srcArray, int elementToAdd) {
|
||||
Integer[] destArray = new Integer[srcArray.length + 1];
|
||||
|
||||
ArrayList<Integer> arrayList = new ArrayList<>(Arrays.asList(srcArray));
|
||||
arrayList.add(elementToAdd);
|
||||
|
||||
return arrayList.toArray(destArray);
|
||||
}
|
||||
|
||||
public Integer[] addElementUsingSystemArrayCopy(Integer[] srcArray, int elementToAdd) {
|
||||
Integer[] destArray = new Integer[srcArray.length + 1];
|
||||
|
||||
System.arraycopy(srcArray, 0, destArray, 0, srcArray.length);
|
||||
|
||||
destArray[destArray.length - 1] = elementToAdd;
|
||||
|
||||
return destArray;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.baeldung.array;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
|
||||
public class AddElementToEndOfArrayUnitTest {
|
||||
|
||||
AddElementToEndOfArray addElementToEndOfArray;
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
addElementToEndOfArray = new AddElementToEndOfArray();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenSourceArrayAndElement_whenAddElementUsingArraysCopyIsInvoked_thenNewElementMustBeAdded() {
|
||||
Integer[] sourceArray = {1, 2, 3, 4};
|
||||
int elementToAdd = 5;
|
||||
|
||||
Integer[] destArray = addElementToEndOfArray.addElementUsingArraysCopyOf(sourceArray, elementToAdd);
|
||||
|
||||
Integer[] expectedArray = {1, 2, 3, 4, 5};
|
||||
assertArrayEquals(expectedArray, destArray);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenSourceArrayAndElement_whenAddElementUsingArrayListIsInvoked_thenNewElementMustBeAdded() {
|
||||
Integer[] sourceArray = {1, 2, 3, 4};
|
||||
int elementToAdd = 5;
|
||||
|
||||
Integer[] destArray = addElementToEndOfArray.addElementUsingArrayList(sourceArray, elementToAdd);
|
||||
|
||||
Integer[] expectedArray = {1, 2, 3, 4, 5};
|
||||
assertArrayEquals(expectedArray, destArray);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenSourceArrayAndElement_whenAddElementUsingSystemArrayCopyIsInvoked_thenNewElementMustBeAdded() {
|
||||
Integer[] sourceArray = {1, 2, 3, 4};
|
||||
int elementToAdd = 5;
|
||||
|
||||
Integer[] destArray = addElementToEndOfArray.addElementUsingSystemArrayCopy(sourceArray, elementToAdd);
|
||||
|
||||
Integer[] expectedArray = {1, 2, 3, 4, 5};
|
||||
assertArrayEquals(expectedArray, destArray);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue