diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..1f58a0f
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+generics
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..3c8658d
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml
new file mode 100644
index 0000000..d411041
--- /dev/null
+++ b/.idea/libraries/Maven__junit_junit_4_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 0000000..f58bbc1
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..e8942bd
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..ca63f44
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..34d9fd1
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,757 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1520602232939
+
+
+ 1520602232939
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.8
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/generics.iml b/generics.iml
new file mode 100644
index 0000000..ea9ab4f
--- /dev/null
+++ b/generics.iml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 73be9cd..4e601ff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,8 +13,8 @@
org.apache.maven.plugins
maven-compiler-plugin
- 1.7
- 1.7
+ 1.8
+ 1.8
diff --git a/src/main/java/.deleteme b/src/main/java/.deleteme
deleted file mode 100644
index e69de29..0000000
diff --git a/src/main/java/MyArrayList.java b/src/main/java/MyArrayList.java
new file mode 100644
index 0000000..a3669d3
--- /dev/null
+++ b/src/main/java/MyArrayList.java
@@ -0,0 +1,78 @@
+import java.util.Arrays;
+
+
+public class MyArrayList {
+
+ private K[] inputArray;
+
+ public MyArrayList(){
+ inputArray = (K[]) new Object[0];
+ }
+
+ public MyArrayList(int size){
+ inputArray = (K[]) new Object[size];
+ }
+
+ public K[] toArray(K[] newArray){
+ return (K[]) Arrays.copyOf(inputArray, inputArray.length, newArray.getClass());
+ }
+
+ public void set(int index, K element){
+ inputArray[index] = element;
+ }
+
+ public K get(int index){
+ return inputArray[index];
+ }
+
+ public int size(){
+ return inputArray.length;
+ }
+
+ public void add(K obj){
+
+ K[] addArray = Arrays.copyOf(inputArray, inputArray.length + 1);
+ addArray[addArray.length - 1] = obj;
+ inputArray = addArray;
+ }
+
+ public void add(int index, K obj) {
+
+ inputArray = Arrays.copyOf(inputArray, inputArray.length + 1);
+
+ for (int i = inputArray.length - 1; i > index; i--){
+ inputArray[i] = inputArray[i-1];
+ }
+ inputArray[index]= obj;
+ }
+
+
+ public void remove(int index){
+
+ for (int i = index; i < inputArray.length - 1; i++){
+ inputArray[i] = inputArray[i + 1] ;
+ }
+ inputArray = Arrays.copyOf(inputArray, inputArray.length - 1);
+ }
+
+ public void clear() {
+ //reassigned it to an empty array
+ inputArray = (K[]) new Object[0];
+ }
+
+ public boolean isEmpty(){
+ if (inputArray.length == 0) {
+ return true;
+ }else
+ return false;
+ }
+
+ public boolean contains(K value) {
+ for (int i = 0; i < inputArray.length; i++) {
+ if (value.equals(inputArray[i])) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/MyMap.java b/src/main/java/MyMap.java
new file mode 100644
index 0000000..9b7ea38
--- /dev/null
+++ b/src/main/java/MyMap.java
@@ -0,0 +1,81 @@
+public class MyMap {
+
+ private MyMap myMap;
+ private K key;
+ private V value;
+
+
+ public void set (K key, V value) {
+ this.key = key;
+ this.value = value;
+ }
+
+ public MyMap() {
+ myMap = new MyMap<>();
+ }
+
+ public int size() {
+ return myMap.size();
+ }
+
+ public boolean isEmpty() {
+ return myMap.isEmpty();
+ }
+
+ public boolean containsKey(K key){
+ if (myMap.getKey() == key) {
+ return true;
+ }else
+ return false;
+ }
+
+ public boolean containsValue(K value){
+ if(myMap.getValue() == value) {
+ return true;
+ }else
+ return false;
+ }
+
+ public void put(K key, K value){
+ if (myMap.getKey() != key) {
+ myMap.put(key, value);
+ }
+ }
+
+ public void remove(K key) {
+ myMap.remove(key);
+ }
+
+ public void clear() {
+ myMap.clear();
+ }
+
+
+ public void values(){
+ }
+
+ public void equals(){
+ }
+
+ public int hashCode(){
+ return myMap.hashCode();
+ }
+
+
+ //Getters & Setters for Key & Value
+ public K getKey() {
+ return key;
+ }
+
+ public void setKey(K key) {
+ this.key = key;
+ }
+
+ public V getValue() {
+ return value;
+ }
+
+ public void setValue(V value) {
+ this.value = value;
+ }
+}
diff --git a/src/main/java/MySet.java b/src/main/java/MySet.java
new file mode 100644
index 0000000..51acb57
--- /dev/null
+++ b/src/main/java/MySet.java
@@ -0,0 +1,50 @@
+public class MySet {
+
+ private MyArrayList mySet;
+
+ public MySet() {
+ mySet = new MyArrayList<>();
+ }
+
+ public void add(K obj){
+ if (!mySet.contains(obj)) {
+ mySet.add(obj);
+ }
+ }
+
+ public void remove(int index) {
+ mySet.remove(index);
+ }
+
+ public K get(int index) {
+ return mySet.get(index);
+ }
+
+ public void set(int index, K obj){
+
+ mySet.set(index, obj);
+ }
+
+ public int size() {
+ return mySet.size();
+ }
+
+ public boolean contains (K obj){
+ return mySet.contains(obj);
+ }
+
+ public void clear() {
+ mySet.clear();
+ }
+
+ public boolean isEmpty() {
+ return mySet.isEmpty();
+ }
+
+
+// public K[] toArray(K[] values) {
+// return (K[]) Arrays.copyOf(mySet, inputArray.length, newArray.getClass());
+//
+// }
+}
+
diff --git a/src/test/java/.deleteme b/src/test/java/.deleteme
deleted file mode 100644
index e69de29..0000000
diff --git a/src/test/java/myArrayListTest.java b/src/test/java/myArrayListTest.java
new file mode 100644
index 0000000..31a7d4b
--- /dev/null
+++ b/src/test/java/myArrayListTest.java
@@ -0,0 +1,426 @@
+import org.junit.Assert;
+import org.junit.Test;
+
+public class myArrayListTest {
+
+ @Test
+ public void addLongTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+ Long valueToAdd = 4L;
+ myArrayList.add(1L);
+ myArrayList.add(2L);
+ myArrayList.add(3L);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(5L);
+ myArrayList.add(6L);
+
+ //When
+ Long[] expected = {1L, 2L, 3L, 4L, 5L, 6L};
+ Long[] actual = myArrayList.toArray(new Long[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void addStringTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+ String valueToAdd = "Paxton";
+ myArrayList.add("Kay");
+ myArrayList.add(valueToAdd);
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add(valueToAdd);
+ myArrayList.add(valueToAdd);
+
+ //When
+ String[] expected = {"Kay", "Paxton", "Joseph", "Elisha", "Paxton", "Paxton"};
+ String[] actual = myArrayList.toArray(new String[0]);
+
+ // Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void addIntegerTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+ Integer valueToAdd = 12;
+ myArrayList.add(2);
+ myArrayList.add(9);
+ myArrayList.add(1);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(0);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(4);
+ myArrayList.add(valueToAdd);
+
+ // When
+ Integer[] expected = {2, 9, 1, 12, 12, 0, 12, 4, 12};
+ Integer[] actual = myArrayList.toArray(new Integer[0]);
+
+ // Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void sizeTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+ Integer valueToAdd = 12;
+ myArrayList.add(2);
+ myArrayList.add(9);
+ myArrayList.add(1);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(0);
+ myArrayList.add(valueToAdd);
+ myArrayList.add(4);
+ myArrayList.add(valueToAdd);
+
+ //When
+ int expected = 9;
+ int actual = myArrayList.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void sizeStringTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+ String valueToAdd = "Paxton";
+ myArrayList.add("Kay");
+ myArrayList.add(valueToAdd);
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add(valueToAdd);
+ myArrayList.add(valueToAdd);
+
+ //When
+ int expected = 6;
+ int actual = myArrayList.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void setIntTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.set(1, 8);
+ myArrayList.add(4);
+
+ //When
+ Integer[] expected = {0, 8, 2, 3, 4};
+ Integer[] actual = myArrayList.toArray(new Integer[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void setStringTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+ myArrayList.add("Kay");
+ myArrayList.add("Paxton");
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add("Nico");
+ myArrayList.set(0, "Paxton");
+
+ //When
+ String[] expected = {"Paxton", "Paxton", "Joseph", "Elisha", "Nico"};
+ String[] actual = myArrayList.toArray(new String[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+
+
+ @Test
+ public void addIndexTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+ myArrayList.add(0,7);
+
+ //When
+ Integer[] expected = {7, 0, 1, 2, 3, 4};
+ Integer[] actual = myArrayList.toArray(new Integer[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void addStringIndexTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Kay");
+ myArrayList.add("Paxton");
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add("Nico");
+ myArrayList.add(0, "Paxton");
+
+ //When
+ String[] expected = {"Paxton", "Kay", "Paxton", "Joseph", "Elisha", "Nico"};
+ String[] actual = myArrayList.toArray(new String[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void toArrayIntTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+
+ //When
+ Integer[] expected = {0, 1, 2, 3, 4};
+ Integer[] actual = myArrayList.toArray(new Integer[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void toArrayStringTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Kay");
+ myArrayList.add("Paxton");
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add("Nico");
+
+ //When
+ String[] expected = {"Kay", "Paxton", "Joseph", "Elisha", "Nico"};
+ String[] actual = myArrayList.toArray(new String[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void getIndexIntTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+
+ //When
+ Integer expected = 3;
+ Integer actual = myArrayList.get(3);
+
+ //Then
+ Assert.assertEquals(expected, actual);
+
+ }
+
+ @Test
+ public void getIndexStringTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Kay");
+ myArrayList.add("Paxton");
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add("Nico");
+
+ //When
+ String expected = "Paxton";
+ String actual = myArrayList.get(1);
+
+ //Then
+ Assert.assertEquals(expected, actual);
+
+ }
+
+ @Test
+ public void removeIntTest(){
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+ myArrayList.remove(0);
+
+ //When
+ Integer[] expected = {1, 2, 3, 4};
+ Integer[] actual = myArrayList.toArray(new Integer[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void removeStringTest(){
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Kay");
+ myArrayList.add("Paxton");
+ myArrayList.add("Joseph");
+ myArrayList.add("Elisha");
+ myArrayList.add("Nico");
+ myArrayList.remove(2);
+
+ //When
+ String[] expected = {"Kay", "Paxton", "Elisha", "Nico"};
+ String[] actual = myArrayList.toArray(new String[0]);
+
+ //Then
+ Assert.assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void clearTest(){
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+
+ //When
+ myArrayList.clear();
+
+ int expected = 0;
+ int actual = myArrayList.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void clearStringTest(){
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Hello");
+ myArrayList.add("There");
+ myArrayList.add("Big");
+ myArrayList.add("World");
+
+ //When
+ myArrayList.clear();
+
+ int expected = 0;
+ int actual = myArrayList.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(0);
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+ myArrayList.clear();
+
+ //When
+ boolean expected = true;
+ boolean actual = myArrayList.isEmpty();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyStringTest() {
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Hello");
+ myArrayList.add("There");
+ myArrayList.add("Big");
+ myArrayList.add("World");
+
+ //When
+ boolean expected = false;
+ boolean actual = myArrayList.isEmpty();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void containsTest(){
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add(1);
+ myArrayList.add(2);
+ myArrayList.add(3);
+ myArrayList.add(4);
+
+ //When
+ boolean expected = false;
+ boolean actual = myArrayList.contains(5);
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void containsStringTest(){
+ //Given
+ MyArrayList myArrayList = new MyArrayList<>();
+
+ myArrayList.add("Hello");
+ myArrayList.add("There");
+ myArrayList.add("Big");
+ myArrayList.add("World");
+
+ //When
+ boolean expected = true;
+ boolean actual = myArrayList.contains("World");
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+}
+
diff --git a/src/test/java/myMapTest.java b/src/test/java/myMapTest.java
new file mode 100644
index 0000000..c00599b
--- /dev/null
+++ b/src/test/java/myMapTest.java
@@ -0,0 +1,115 @@
+import org.junit.Assert;
+import org.junit.Test;
+
+public class myMapTest {
+
+ @Test
+ public void sizeIntTest() {
+ //Given
+ MyMap mapTest = new MyMap();
+ mapTest.put(0, "Pax");
+ mapTest.put(1, "Joe");
+ mapTest.put(2, "Kay");
+
+ //When
+ int expected = 3;
+ int actual = mapTest.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmpty() {
+ //Given
+ MyMap mapTest = new MyMap();
+ mapTest.put("Pax", 1);
+ mapTest.put("Kay", 2);
+ mapTest.put("Joe", 3);
+
+ //When
+ boolean expected = false;
+ boolean actual = mapTest.isEmpty();
+
+ Assert.assertEquals(expected,actual);
+ }
+
+
+ @Test
+ public void containsKey() {
+ //Given
+ MyMap mapTest = new MyMap();
+ mapTest.put("Pax", 1);
+ mapTest.put("Kay", 2);
+ mapTest.put("Joe", 3);
+
+ //When
+ boolean expected = true;
+ boolean actual = mapTest.containsKey("Pax");
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void containsValue() {
+ //Given
+ MyMap mapTest = new MyMap();
+ mapTest.put("Pax", 1);
+ mapTest.put("Kay", 2);
+ mapTest.put("Joe", 3);
+
+ //When
+ boolean expected = true;
+ boolean actual = mapTest.containsValue(1);
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void clear() {
+ //Given
+ MyMap mapTest = new MyMap();
+ mapTest.put("Pax", 1);
+ mapTest.put("Kay", 2);
+ mapTest.put("Joe", 3);
+
+ //When
+ mapTest.clear();
+
+ int expected = 0;
+ int actual = mapTest.size();
+
+ //Then
+ Assert.assertEquals(expected,actual);
+ }
+//
+// @Test
+// public void put() {
+// }
+//
+// @Test
+// public void putAll() {
+// }
+//
+// @Test
+// public void remove() {
+// }
+//
+//
+// @Test
+// public void keySet() {
+// }
+//
+// @Test
+// public void entrySet() {
+// }
+//
+// @Test
+// public void values() {
+// }
+//
+// @Test
+// public void equals() {
+// }
+//
+}
diff --git a/src/test/java/mySetTest.java b/src/test/java/mySetTest.java
new file mode 100644
index 0000000..a2616c3
--- /dev/null
+++ b/src/test/java/mySetTest.java
@@ -0,0 +1,241 @@
+import org.junit.Assert;
+import org.junit.Test;
+
+public class mySetTest {
+
+ @Test
+ public void addIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(2);
+ testSet.add(9);
+ testSet.add(1);
+ testSet.add(0);
+ testSet.add(4);
+
+ //When
+ int expected = 5;
+ int actual = testSet.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void addStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ //When
+ int expected = 3;
+ int actual = testSet.size();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(2);
+ testSet.add(9);
+ testSet.add(1);
+ testSet.add(0);
+ testSet.add(4);
+
+ //When
+ int expected = 0;
+ int actual = testSet.get(3);
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ //When
+ String expected = "Pax";
+ String actual = testSet.get(0);
+
+ //Then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(2);
+ testSet.add(9);
+ testSet.add(1);
+ testSet.add(0);
+ testSet.add(4);
+
+ //When
+ testSet.remove(3);
+
+ int expected = 4;
+ int actual = testSet.size();
+
+ //THen
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void removeStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ //When
+ testSet.remove(2);
+
+ int expected = 2;
+ int actual = testSet.size();
+
+ //Then
+ Assert.assertEquals(expected,actual);
+ }
+ @Test
+ public void setIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(1);
+ testSet.add(2);
+ testSet.add(3);
+
+ //When
+ testSet.set(1, 4);
+
+ int expected = 4;
+ int actual = testSet.get(1);
+
+ //Then
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void setStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ //When
+ testSet.set(2, "hello");
+
+ String expected = "hello";
+ String actual = testSet.get(2);
+
+ //Then
+ Assert.assertEquals(expected,actual);
+ }
+ @Test
+ public void clearIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(1);
+ testSet.add(2);
+ testSet.add(3);
+
+ //When
+ testSet.clear();
+
+ int expected = 0;
+ int actual = testSet.size();
+
+ //Then
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void clearStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ //When
+ testSet.clear();
+
+ int expected = 0;
+ int actual = testSet.size();
+
+ //Then
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void isEmptyIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(1);
+ testSet.add(2);
+ testSet.add(3);
+
+ //When
+ boolean expected = false;
+ boolean actual = testSet.isEmpty();
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void isEmptyStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ //When
+ testSet.clear();
+
+ boolean expected = true;
+ boolean actual = testSet.isEmpty();
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void containsIntTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add(1);
+ testSet.add(2);
+ testSet.add(3);
+
+ boolean expected = false;
+ boolean actual = testSet.contains(5);
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void containsStringTest() {
+ //Given
+ MySet testSet = new MySet<>();
+ testSet.add("Pax");
+ testSet.add("Joe");
+ testSet.add("Kay");
+
+ boolean expected = true;
+ boolean actual = testSet.contains("Pax");
+
+ Assert.assertEquals(expected,actual);
+ }
+}