Browse Source

ArraysGoneWild done

Jonathan Hinds 6 years ago
parent
commit
51e62b8804

+ 1
- 1
.idea/compiler.xml View File

@@ -10,7 +10,7 @@
10 10
       </profile>
11 11
     </annotationProcessing>
12 12
     <bytecodeTargetLevel>
13
-      <module name="arraz" target="1.5" />
13
+      <module name="arraz" target="8" />
14 14
     </bytecodeTargetLevel>
15 15
   </component>
16 16
 </project>

+ 445
- 217
.idea/workspace.xml View File

@@ -2,58 +2,140 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="3455511b-a100-4bbd-b07c-68f009bc8dbc" name="Default" comment="">
5
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
6
-      <change beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
5
+      <change afterPath="$PROJECT_DIR$/arraz/src/main/java/MaxMin.java" afterDir="false" />
6
+      <change afterPath="$PROJECT_DIR$/arraz/src/main/java/OddEven.java" afterDir="false" />
7
+      <change afterPath="$PROJECT_DIR$/arraz/src/main/java/SmallestSecondSmallest.java" afterDir="false" />
8
+      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/arraz/arraz.iml" beforeDir="false" afterPath="$PROJECT_DIR$/arraz/arraz.iml" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/arraz/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/arraz/pom.xml" afterDir="false" />
12
+      <change beforePath="$PROJECT_DIR$/arraz/src/main/java/Arraz.java" beforeDir="false" afterPath="$PROJECT_DIR$/arraz/src/main/java/Arraz.java" afterDir="false" />
13
+      <change beforePath="$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java" afterDir="false" />
7 14
     </list>
8 15
     <ignored path="$PROJECT_DIR$/arraz/target/" />
9 16
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
10
-    <option name="TRACKING_ENABLED" value="true" />
11 17
     <option name="SHOW_DIALOG" value="false" />
12 18
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
13 19
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
14 20
     <option name="LAST_RESOLUTION" value="IGNORE" />
15 21
   </component>
22
+  <component name="FUSProjectUsageTrigger">
23
+    <session id="-34537962">
24
+      <usages-collector id="statistics.lifecycle.project">
25
+        <counts>
26
+          <entry key="project.open.time.1" value="1" />
27
+          <entry key="project.opened" value="1" />
28
+        </counts>
29
+      </usages-collector>
30
+      <usages-collector id="statistics.file.extensions.edit">
31
+        <counts>
32
+          <entry key="java" value="10056" />
33
+        </counts>
34
+      </usages-collector>
35
+      <usages-collector id="statistics.file.types.edit">
36
+        <counts>
37
+          <entry key="JAVA" value="10056" />
38
+        </counts>
39
+      </usages-collector>
40
+      <usages-collector id="statistics.file.extensions.open">
41
+        <counts>
42
+          <entry key="class" value="3" />
43
+          <entry key="java" value="15" />
44
+          <entry key="md" value="1" />
45
+        </counts>
46
+      </usages-collector>
47
+      <usages-collector id="statistics.file.types.open">
48
+        <counts>
49
+          <entry key="CLASS" value="3" />
50
+          <entry key="JAVA" value="15" />
51
+          <entry key="Markdown" value="1" />
52
+        </counts>
53
+      </usages-collector>
54
+    </session>
55
+  </component>
16 56
   <component name="FileEditorManager">
17 57
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
18
-      <file leaf-file-name="pom.xml" pinned="false" current-in-tab="false">
58
+      <file pinned="false" current-in-tab="false">
19 59
         <entry file="file://$PROJECT_DIR$/arraz/pom.xml">
20
-          <provider selected="true" editor-type-id="text-editor">
21
-            <state relative-caret-position="0">
22
-              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
23
-              <folding />
24
-            </state>
25
-          </provider>
60
+          <provider selected="true" editor-type-id="text-editor" />
26 61
         </entry>
27 62
       </file>
28
-      <file leaf-file-name="Arraz.java" pinned="false" current-in-tab="false">
63
+      <file pinned="false" current-in-tab="false">
29 64
         <entry file="file://$PROJECT_DIR$/arraz/src/main/java/Arraz.java">
30 65
           <provider selected="true" editor-type-id="text-editor">
31
-            <state relative-caret-position="0">
32
-              <caret line="0" column="15" lean-forward="false" selection-start-line="0" selection-start-column="15" selection-end-line="0" selection-end-column="15" />
33
-              <folding />
66
+            <state relative-caret-position="294">
67
+              <caret line="272" column="54" selection-start-line="272" selection-start-column="54" selection-end-line="272" selection-end-column="54" />
68
+              <folding>
69
+                <element signature="imports" expanded="true" />
70
+                <element signature="e#86#87#0" expanded="true" />
71
+                <element signature="e#113#114#0" expanded="true" />
72
+                <element signature="method#createEmptyArrayWithOutDuplicatesNotExact#0;class#Arraz#0" />
73
+                <element signature="method#getIndexsOfElements#0;class#Arraz#0" />
74
+                <element signature="method#containsIndex#0;class#Arraz#0" />
75
+                <element signature="method#findDuplicateOfElement#0;class#Arraz#0" />
76
+                <element signature="e#5603#5604#0" expanded="true" />
77
+                <element signature="e#5630#5631#0" expanded="true" />
78
+                <element signature="e#8227#8228#0" expanded="true" />
79
+                <element signature="e#8290#8291#0" expanded="true" />
80
+              </folding>
34 81
             </state>
35 82
           </provider>
36 83
         </entry>
37 84
       </file>
38
-      <file leaf-file-name="ArrazTest.java" pinned="false" current-in-tab="false">
85
+      <file pinned="false" current-in-tab="true">
39 86
         <entry file="file://$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java">
40 87
           <provider selected="true" editor-type-id="text-editor">
41
-            <state relative-caret-position="34">
42
-              <caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
43
-              <folding />
44
-            </state>
45
-          </provider>
46
-        </entry>
47
-      </file>
48
-      <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
49
-        <entry file="file://$PROJECT_DIR$/README.md">
50
-          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
51
-            <state split_layout="SPLIT">
52
-              <first_editor relative-caret-position="306">
53
-                <caret line="18" column="0" lean-forward="true" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
54
-                <folding />
55
-              </first_editor>
56
-              <second_editor />
88
+            <state relative-caret-position="175">
89
+              <caret line="350" lean-forward="true" selection-start-line="350" selection-end-line="350" />
90
+              <folding>
91
+                <element signature="imports" expanded="true" />
92
+                <element signature="e#4916#4924#0" expanded="true" />
93
+                <element signature="e#5107#5116#0" expanded="true" />
94
+                <element signature="e#5367#5376#0" expanded="true" />
95
+                <element signature="e#5723#5732#0" expanded="true" />
96
+                <element signature="e#6174#6183#0" expanded="true" />
97
+                <element signature="e#6532#6541#0" expanded="true" />
98
+                <element signature="e#7002#7010#0" expanded="true" />
99
+                <element signature="e#7284#7292#0" expanded="true" />
100
+                <element signature="e#7601#7609#0" expanded="true" />
101
+                <element signature="e#7847#7856#0" expanded="true" />
102
+                <element signature="e#8205#8214#0" expanded="true" />
103
+                <element signature="e#8951#8960#0" expanded="true" />
104
+                <element signature="e#9385#9394#0" expanded="true" />
105
+                <element signature="e#9655#9664#0" expanded="true" />
106
+                <element signature="e#10000#10008#0" expanded="true" />
107
+                <element signature="e#10275#10283#0" expanded="true" />
108
+                <element signature="e#10636#10645#0" expanded="true" />
109
+                <element signature="e#10787#10795#0" expanded="true" />
110
+                <element signature="e#11020#11029#0" expanded="true" />
111
+                <element signature="e#11164#11173#0" expanded="true" />
112
+                <element signature="e#12023#12032#0" expanded="true" />
113
+                <element signature="e#12242#12251#0" expanded="true" />
114
+                <element signature="e#12545#12554#0" expanded="true" />
115
+                <element signature="e#12756#12765#0" expanded="true" />
116
+                <element signature="e#13162#13171#0" expanded="true" />
117
+                <element signature="e#13428#13437#0" expanded="true" />
118
+                <element signature="e#13836#13845#0" expanded="true" />
119
+                <element signature="e#14133#14142#0" expanded="true" />
120
+                <element signature="e#14509#14518#0" expanded="true" />
121
+                <element signature="e#14729#14738#0" expanded="true" />
122
+                <element signature="e#15108#15117#0" expanded="true" />
123
+                <element signature="e#15320#15329#0" expanded="true" />
124
+                <element signature="e#15693#15702#0" expanded="true" />
125
+                <element signature="e#16055#16064#0" expanded="true" />
126
+                <element signature="e#16459#16468#0" expanded="true" />
127
+                <element signature="e#16829#16838#0" expanded="true" />
128
+                <element signature="e#17306#17315#0" expanded="true" />
129
+                <element signature="e#17684#17693#0" expanded="true" />
130
+                <element signature="e#18165#18174#0" expanded="true" />
131
+                <element signature="e#18554#18563#0" expanded="true" />
132
+                <element signature="e#19036#19045#0" expanded="true" />
133
+                <element signature="e#19428#19437#0" expanded="true" />
134
+                <element signature="e#19909#19918#0" expanded="true" />
135
+                <element signature="e#20298#20307#0" expanded="true" />
136
+                <element signature="e#20831#20840#0" expanded="true" />
137
+                <element signature="e#21114#21123#0" expanded="true" />
138
+              </folding>
57 139
             </state>
58 140
           </provider>
59 141
         </entry>
@@ -63,18 +145,25 @@
63 145
   <component name="FileTemplateManagerImpl">
64 146
     <option name="RECENT_TEMPLATES">
65 147
       <list>
66
-        <option value="Class" />
67 148
         <option value="JUnit4 Test Class" />
149
+        <option value="Class" />
68 150
       </list>
69 151
     </option>
70 152
   </component>
153
+  <component name="FindInProjectRecents">
154
+    <findStrings>
155
+      <find>expect</find>
156
+      <find>reverse</find>
157
+      <find>convertToInt</find>
158
+      <find>merge</find>
159
+      <find>averageArr</find>
160
+      <find>getEven</find>
161
+    </findStrings>
162
+  </component>
71 163
   <component name="Git.Settings">
72 164
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
73 165
   </component>
74 166
   <component name="GradleLocalSettings">
75
-    <option name="externalProjectsViewState">
76
-      <projects_view />
77
-    </option>
78 167
     <option name="projectSyncType">
79 168
       <map>
80 169
         <entry key="$USER_HOME$/GitHub/gs-gradle/initial" value="PREVIEW" />
@@ -84,8 +173,14 @@
84 173
   <component name="IdeDocumentHistory">
85 174
     <option name="CHANGED_PATHS">
86 175
       <list>
87
-        <option value="$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java" />
88 176
         <option value="$PROJECT_DIR$/README.md" />
177
+        <option value="$PROJECT_DIR$/arraz/src/main/java/OddEven.java" />
178
+        <option value="$PROJECT_DIR$/arraz/src/main/java/MaxMin.java" />
179
+        <option value="$PROJECT_DIR$/arraz/src/main/java/SmallestSecondSmallest.java" />
180
+        <option value="$PROJECT_DIR$/../Submitted/Assessment1/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java" />
181
+        <option value="$PROJECT_DIR$/../Submitted/JavaAssessment2Final/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java" />
182
+        <option value="$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java" />
183
+        <option value="$PROJECT_DIR$/arraz/src/main/java/Arraz.java" />
89 184
       </list>
90 185
     </option>
91 186
   </component>
@@ -102,27 +197,17 @@
102 197
       </MavenImportingSettings>
103 198
     </option>
104 199
   </component>
105
-  <component name="ProjectFrameBounds">
106
-    <option name="x" value="242" />
107
-    <option name="y" value="45" />
108
-    <option name="width" value="1538" />
109
-    <option name="height" value="962" />
200
+  <component name="ProjectFrameBounds" extendedState="6">
201
+    <option name="y" value="23" />
202
+    <option name="width" value="1280" />
203
+    <option name="height" value="731" />
110 204
   </component>
111 205
   <component name="ProjectView">
112
-    <navigator currentView="ProjectPane" proportions="" version="1">
113
-      <flattenPackages />
114
-      <showMembers />
115
-      <showModules />
116
-      <showLibraryContents />
117
-      <hideEmptyPackages />
118
-      <abbreviatePackageNames />
119
-      <autoscrollToSource />
120
-      <autoscrollFromSource />
121
-      <sortByType />
122
-      <manualOrder />
206
+    <navigator proportions="" version="1">
123 207
       <foldersAlwaysOnTop value="true" />
124 208
     </navigator>
125 209
     <panes>
210
+      <pane id="PackagesPane" />
126 211
       <pane id="ProjectPane">
127 212
         <subPane>
128 213
           <expand>
@@ -151,27 +236,48 @@
151 236
             <path>
152 237
               <item name="ArraysGoneWild" type="b2602c69:ProjectViewProjectNode" />
153 238
               <item name="ArraysGoneWild" type="462c0819:PsiDirectoryNode" />
239
+              <item name="arraz" type="462c0819:PsiDirectoryNode" />
240
+              <item name="src" type="462c0819:PsiDirectoryNode" />
241
+              <item name="main" type="462c0819:PsiDirectoryNode" />
242
+              <item name="java" type="462c0819:PsiDirectoryNode" />
243
+            </path>
244
+            <path>
245
+              <item name="ArraysGoneWild" type="b2602c69:ProjectViewProjectNode" />
246
+              <item name="ArraysGoneWild" type="462c0819:PsiDirectoryNode" />
247
+              <item name="arraz" type="462c0819:PsiDirectoryNode" />
248
+              <item name="src" type="462c0819:PsiDirectoryNode" />
249
+              <item name="test" type="462c0819:PsiDirectoryNode" />
250
+            </path>
251
+            <path>
252
+              <item name="ArraysGoneWild" type="b2602c69:ProjectViewProjectNode" />
253
+              <item name="ArraysGoneWild" type="462c0819:PsiDirectoryNode" />
254
+              <item name="arraz" type="462c0819:PsiDirectoryNode" />
255
+              <item name="src" type="462c0819:PsiDirectoryNode" />
256
+              <item name="test" type="462c0819:PsiDirectoryNode" />
257
+              <item name="java" type="462c0819:PsiDirectoryNode" />
258
+            </path>
259
+            <path>
260
+              <item name="ArraysGoneWild" type="b2602c69:ProjectViewProjectNode" />
261
+              <item name="ArraysGoneWild" type="462c0819:PsiDirectoryNode" />
154 262
               <item name="DocumentationOnArrays" type="462c0819:PsiDirectoryNode" />
155 263
             </path>
156 264
           </expand>
157 265
           <select />
158 266
         </subPane>
159 267
       </pane>
160
-      <pane id="Scratches" />
161
-      <pane id="PackagesPane" />
162
-      <pane id="AndroidView" />
163 268
       <pane id="Scope" />
164 269
     </panes>
165 270
   </component>
166 271
   <component name="PropertiesComponent">
167
-    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
168
-    <property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
272
+    <property name="GO_FMT" value="false" />
169 273
     <property name="WebServerToolWindowFactoryState" value="false" />
170 274
     <property name="aspect.path.notification.shown" value="true" />
171
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
172
-    <property name="jdk.selected.JAVA_MODULE" value="1.8" />
275
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1544309580686" />
173 276
     <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
174
-    <property name="GO_FMT" value="false" />
277
+    <property name="jdk.selected.JAVA_MODULE" value="1.8" />
278
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
279
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
280
+    <property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
175 281
   </component>
176 282
   <component name="RecentsManager">
177 283
     <key name="CreateTestDialog.RecentsKey">
@@ -193,90 +299,111 @@
193 299
       </list>
194 300
     </option>
195 301
   </component>
196
-  <component name="RunManager">
302
+  <component name="RunManager" selected="JUnit.ArrazTest">
197 303
     <configuration default="true" type="Applet" factoryName="Applet">
198
-      <option name="WIDTH" value="400" />
199
-      <option name="HEIGHT" value="300" />
200 304
       <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
201
-      <module />
305
+      <method v="2">
306
+        <option name="Make" enabled="true" />
307
+      </method>
202 308
     </configuration>
203 309
     <configuration default="true" type="Application" factoryName="Application">
204
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
205
-      <option name="MAIN_CLASS_NAME" />
206
-      <option name="VM_PARAMETERS" />
207
-      <option name="PROGRAM_PARAMETERS" />
208 310
       <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
209
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
210
-      <option name="ALTERNATIVE_JRE_PATH" />
211
-      <option name="ENABLE_SWING_INSPECTOR" value="false" />
212
-      <option name="ENV_VARIABLES" />
213
-      <option name="PASS_PARENT_ENVS" value="true" />
214
-      <module name="" />
215
-      <envs />
311
+      <method v="2">
312
+        <option name="Make" enabled="true" />
313
+      </method>
216 314
     </configuration>
217
-    <configuration default="true" type="JUnit" factoryName="JUnit">
218
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
219
-      <module name="" />
220
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
221
-      <option name="ALTERNATIVE_JRE_PATH" />
222
-      <option name="PACKAGE_NAME" />
223
-      <option name="MAIN_CLASS_NAME" />
224
-      <option name="METHOD_NAME" />
225
-      <option name="TEST_OBJECT" value="class" />
226
-      <option name="VM_PARAMETERS" value="-ea" />
227
-      <option name="PARAMETERS" />
315
+    <configuration name="ArrazTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
316
+      <module name="arraz" />
317
+      <option name="PACKAGE_NAME" value="" />
318
+      <option name="MAIN_CLASS_NAME" value="ArrazTest" />
228 319
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
229
-      <option name="ENV_VARIABLES" />
230
-      <option name="PASS_PARENT_ENVS" value="true" />
231
-      <option name="TEST_SEARCH_SCOPE">
232
-        <value defaultName="singleModule" />
233
-      </option>
234
-      <envs />
235
-      <patterns />
320
+      <method v="2">
321
+        <option name="Make" enabled="true" />
322
+      </method>
236 323
     </configuration>
237
-    <configuration default="true" type="Remote" factoryName="Remote">
238
-      <option name="USE_SOCKET_TRANSPORT" value="true" />
239
-      <option name="SERVER_MODE" value="false" />
240
-      <option name="SHMEM_ADDRESS" value="javadebug" />
241
-      <option name="HOST" value="localhost" />
242
-      <option name="PORT" value="5005" />
324
+    <configuration name="ArrazTest.test01insertAtEndAndCopy" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
325
+      <module name="arraz" />
326
+      <option name="PACKAGE_NAME" value="" />
327
+      <option name="MAIN_CLASS_NAME" value="ArrazTest" />
328
+      <option name="METHOD_NAME" value="test01insertAtEndAndCopy" />
329
+      <option name="TEST_OBJECT" value="method" />
330
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
331
+      <method v="2">
332
+        <option name="Make" enabled="true" />
333
+      </method>
334
+    </configuration>
335
+    <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
336
+      <module name="arraz" />
337
+      <option name="PACKAGE_NAME" value="" />
338
+      <option name="MAIN_CLASS_NAME" value="ArrazTest" />
339
+      <option name="METHOD_NAME" value="test01makeMeAnArrayFromArrayList" />
340
+      <option name="TEST_OBJECT" value="method" />
341
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
342
+      <method v="2">
343
+        <option name="Make" enabled="true" />
344
+      </method>
345
+    </configuration>
346
+    <configuration name="ArrazTest.test02find2ndLargestValueFromArray" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
347
+      <module name="arraz" />
348
+      <option name="PACKAGE_NAME" value="" />
349
+      <option name="MAIN_CLASS_NAME" value="ArrazTest" />
350
+      <option name="METHOD_NAME" value="test02find2ndLargestValueFromArray" />
351
+      <option name="TEST_OBJECT" value="method" />
352
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
353
+      <method v="2">
354
+        <option name="Make" enabled="true" />
355
+      </method>
356
+    </configuration>
357
+    <configuration name="ArrazTest.test02insertAtStartAndCopy" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
358
+      <module name="arraz" />
359
+      <option name="PACKAGE_NAME" value="" />
360
+      <option name="MAIN_CLASS_NAME" value="ArrazTest" />
361
+      <option name="METHOD_NAME" value="test02insertAtStartAndCopy" />
362
+      <option name="TEST_OBJECT" value="method" />
363
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
364
+      <method v="2">
365
+        <option name="Make" enabled="true" />
366
+      </method>
367
+    </configuration>
368
+    <configuration default="true" type="JUnit" factoryName="JUnit">
369
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
370
+      <method v="2">
371
+        <option name="Make" enabled="true" />
372
+      </method>
243 373
     </configuration>
244 374
     <configuration default="true" type="TestNG" factoryName="TestNG">
245
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
246
-      <module name="" />
247
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
248
-      <option name="ALTERNATIVE_JRE_PATH" />
249
-      <option name="SUITE_NAME" />
250
-      <option name="PACKAGE_NAME" />
251
-      <option name="MAIN_CLASS_NAME" />
252
-      <option name="METHOD_NAME" />
253
-      <option name="GROUP_NAME" />
254
-      <option name="TEST_OBJECT" value="CLASS" />
255
-      <option name="VM_PARAMETERS" value="-ea" />
256
-      <option name="PARAMETERS" />
257 375
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
258
-      <option name="OUTPUT_DIRECTORY" />
259
-      <option name="ANNOTATION_TYPE" />
260
-      <option name="ENV_VARIABLES" />
261
-      <option name="PASS_PARENT_ENVS" value="true" />
262
-      <option name="TEST_SEARCH_SCOPE">
263
-        <value defaultName="singleModule" />
264
-      </option>
265
-      <option name="USE_DEFAULT_REPORTERS" value="false" />
266
-      <option name="PROPERTIES_FILE" />
267
-      <envs />
268 376
       <properties />
269 377
       <listeners />
378
+      <method v="2">
379
+        <option name="Make" enabled="true" />
380
+      </method>
270 381
     </configuration>
271 382
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
272 383
       <module name="" />
273 384
       <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
274 385
       <option name="PROGRAM_PARAMETERS" />
275 386
       <predefined_log_file id="idea.log" enabled="true" />
387
+      <method v="2">
388
+        <option name="Make" enabled="true" />
389
+      </method>
276 390
     </configuration>
277
-  </component>
278
-  <component name="ShelveChangesManager" show_recycled="false">
279
-    <option name="remove_strategy" value="false" />
391
+    <list>
392
+      <item itemvalue="JUnit.ArrazTest" />
393
+      <item itemvalue="JUnit.ArrazTest.test02find2ndLargestValueFromArray" />
394
+      <item itemvalue="JUnit.ArrazTest.test01insertAtEndAndCopy" />
395
+      <item itemvalue="JUnit.ArrazTest.test02insertAtStartAndCopy" />
396
+      <item itemvalue="JUnit.ArrazTest.test01makeMeAnArrayFromArrayList" />
397
+    </list>
398
+    <recent_temporary>
399
+      <list>
400
+        <item itemvalue="JUnit.ArrazTest" />
401
+        <item itemvalue="JUnit.ArrazTest.test01makeMeAnArrayFromArrayList" />
402
+        <item itemvalue="JUnit.ArrazTest.test02insertAtStartAndCopy" />
403
+        <item itemvalue="JUnit.ArrazTest.test01insertAtEndAndCopy" />
404
+        <item itemvalue="JUnit.ArrazTest.test02find2ndLargestValueFromArray" />
405
+      </list>
406
+    </recent_temporary>
280 407
   </component>
281 408
   <component name="SvnConfiguration">
282 409
     <configuration />
@@ -291,6 +418,7 @@
291 418
       <workItem from="1543955862749" duration="2347000" />
292 419
       <workItem from="1543958998826" duration="113000" />
293 420
       <workItem from="1544020724645" duration="762000" />
421
+      <workItem from="1544287532316" duration="17919000" />
294 422
     </task>
295 423
     <task id="LOCAL-00001" summary="readme and docs">
296 424
       <created>1544021313039</created>
@@ -302,39 +430,73 @@
302 430
     <option name="localTasksCounter" value="2" />
303 431
     <servers />
304 432
   </component>
433
+  <component name="TestHistory">
434
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 34m 14s.xml">
435
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
436
+    </history-entry>
437
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 34m 58s.xml">
438
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
439
+    </history-entry>
440
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 35m 42s.xml">
441
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
442
+    </history-entry>
443
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 39m 08s.xml">
444
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
445
+    </history-entry>
446
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 43m 13s.xml">
447
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
448
+    </history-entry>
449
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 44m 16s.xml">
450
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
451
+    </history-entry>
452
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 44m 49s.xml">
453
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
454
+    </history-entry>
455
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 44m 56s.xml">
456
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
457
+    </history-entry>
458
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 49m 33s.xml">
459
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
460
+    </history-entry>
461
+    <history-entry file="ArrazTest_test01makeMeAnArrayFromArrayList - 2018.12.08 at 17h 49m 37s.xml">
462
+      <configuration name="ArrazTest.test01makeMeAnArrayFromArrayList" configurationId="JUnit" />
463
+    </history-entry>
464
+  </component>
305 465
   <component name="TimeTrackingManager">
306
-    <option name="totallyTimeSpent" value="3222000" />
466
+    <option name="totallyTimeSpent" value="21141000" />
307 467
   </component>
308 468
   <component name="ToolWindowManager">
309
-    <frame x="242" y="45" width="1538" height="962" extended-state="0" />
469
+    <frame x="0" y="23" width="1280" height="731" extended-state="6" />
310 470
     <editor active="true" />
311 471
     <layout>
312
-      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
313
-      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
314
-      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
315
-      <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
316
-      <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
317
-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
318
-      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
319
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
320
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
321
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
322
-      <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
323
-      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
324
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2577389" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
325
-      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
326
-      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
327
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
328
-      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
329
-      <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
330
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
331
-      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
332
-      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
333
-      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
334
-      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
335
-      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
336
-      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
337
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
472
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.26171243" />
473
+      <window_info id="Structure" order="1" weight="0.25" />
474
+      <window_info id="Image Layers" order="2" />
475
+      <window_info id="Designer" order="3" />
476
+      <window_info id="UI Designer" order="4" />
477
+      <window_info id="Capture Tool" order="5" />
478
+      <window_info id="Favorites" order="6" side_tool="true" />
479
+      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
480
+      <window_info anchor="bottom" id="Messages" weight="0.3286385" />
481
+      <window_info anchor="bottom" id="Message" order="0" />
482
+      <window_info anchor="bottom" id="Find" order="1" />
483
+      <window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.28638497" />
484
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.39906102" />
485
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
486
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
487
+      <window_info anchor="bottom" id="TODO" order="6" />
488
+      <window_info anchor="bottom" id="Terminal" order="7" />
489
+      <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
490
+      <window_info anchor="bottom" id="Version Control" order="9" />
491
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
492
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
493
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
494
+      <window_info anchor="right" id="Palette" order="3" />
495
+      <window_info anchor="right" id="Capture Analysis" order="4" />
496
+      <window_info anchor="right" id="Theme Preview" order="5" />
497
+      <window_info anchor="right" id="Database" order="6" />
498
+      <window_info anchor="right" id="Palette&#9;" order="7" />
499
+      <window_info anchor="right" id="Maven Projects" order="8" />
338 500
     </layout>
339 501
   </component>
340 502
   <component name="TypeScriptGeneratedFilesManager">
@@ -347,113 +509,179 @@
347 509
     <MESSAGE value="readme and docs" />
348 510
     <option name="LAST_COMMIT_MESSAGE" value="readme and docs" />
349 511
   </component>
350
-  <component name="XDebuggerManager">
351
-    <breakpoint-manager />
352
-    <watches-manager />
353
-  </component>
354 512
   <component name="editorHistoryManager">
355
-    <entry file="file://$PROJECT_DIR$/arraz/pom.xml">
513
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/src.zip!/java/lang/Integer.java">
356 514
       <provider selected="true" editor-type-id="text-editor">
357
-        <state relative-caret-position="0">
358
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
359
-          <folding />
515
+        <state relative-caret-position="204">
516
+          <caret line="51" column="19" selection-start-line="51" selection-start-column="19" selection-end-line="51" selection-end-column="19" />
360 517
         </state>
361 518
       </provider>
362 519
     </entry>
363
-    <entry file="file://$PROJECT_DIR$/arraz/src/main/java/Arraz.java">
364
-      <provider selected="true" editor-type-id="text-editor">
365
-        <state relative-caret-position="0">
366
-          <caret line="0" column="15" lean-forward="false" selection-start-line="0" selection-start-column="15" selection-end-line="0" selection-end-column="15" />
367
-          <folding />
520
+    <entry file="file://$PROJECT_DIR$/README.md">
521
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
522
+        <state split_layout="SPLIT">
523
+          <first_editor relative-caret-position="270">
524
+            <caret line="18" selection-start-line="18" selection-end-line="18" />
525
+          </first_editor>
526
+          <second_editor />
368 527
         </state>
369 528
       </provider>
370 529
     </entry>
371
-    <entry file="file://$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java">
530
+    <entry file="file://$PROJECT_DIR$/arraz/src/main/java/OddEven.java">
372 531
       <provider selected="true" editor-type-id="text-editor">
373
-        <state relative-caret-position="34">
374
-          <caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
375
-          <folding />
532
+        <state relative-caret-position="281">
533
+          <caret line="47" column="18" selection-start-line="47" selection-start-column="18" selection-end-line="47" selection-end-column="18" />
534
+          <folding>
535
+            <element signature="e#283#284#0" expanded="true" />
536
+            <element signature="e#311#312#0" expanded="true" />
537
+            <element signature="e#349#350#0" expanded="true" />
538
+            <element signature="e#368#369#0" expanded="true" />
539
+            <element signature="e#197#198#0" expanded="true" />
540
+            <element signature="e#224#225#0" expanded="true" />
541
+            <element signature="e#261#262#0" expanded="true" />
542
+            <element signature="e#293#294#0" expanded="true" />
543
+            <element signature="e#322#323#0" expanded="true" />
544
+            <element signature="e#350#351#0" expanded="true" />
545
+            <element signature="e#389#390#0" expanded="true" />
546
+            <element signature="e#423#424#0" expanded="true" />
547
+          </folding>
376 548
         </state>
377 549
       </provider>
378 550
     </entry>
379
-    <entry file="file://$PROJECT_DIR$/README.md">
380
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
381
-        <state split_layout="SPLIT">
382
-          <first_editor relative-caret-position="1241">
383
-            <caret line="73" column="0" lean-forward="true" selection-start-line="73" selection-start-column="0" selection-end-line="73" selection-end-column="0" />
384
-            <folding />
385
-          </first_editor>
386
-          <second_editor />
551
+    <entry file="file://$PROJECT_DIR$/arraz/src/main/java/MaxMin.java">
552
+      <provider selected="true" editor-type-id="text-editor">
553
+        <state relative-caret-position="229">
554
+          <caret line="29" column="18" selection-start-line="29" selection-start-column="18" selection-end-line="29" selection-end-column="18" />
555
+          <folding>
556
+            <element signature="e#209#210#0" expanded="true" />
557
+            <element signature="e#235#236#0" expanded="true" />
558
+            <element signature="e#262#263#0" expanded="true" />
559
+            <element signature="e#288#289#0" expanded="true" />
560
+          </folding>
387 561
         </state>
388 562
       </provider>
389 563
     </entry>
390
-    <entry file="file://$PROJECT_DIR$/arraz/pom.xml">
564
+    <entry file="file://$PROJECT_DIR$/arraz/src/main/java/SmallestSecondSmallest.java">
391 565
       <provider selected="true" editor-type-id="text-editor">
392
-        <state relative-caret-position="0">
393
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
394
-          <folding />
566
+        <state relative-caret-position="229">
567
+          <caret line="37" column="18" selection-start-line="37" selection-start-column="18" selection-end-line="37" selection-end-column="18" />
568
+          <folding>
569
+            <element signature="e#312#313#0" expanded="true" />
570
+            <element signature="e#343#344#0" expanded="true" />
571
+            <element signature="e#388#389#0" expanded="true" />
572
+            <element signature="e#428#429#0" expanded="true" />
573
+            <element signature="e#466#467#0" expanded="true" />
574
+            <element signature="e#503#504#0" expanded="true" />
575
+            <element signature="e#560#561#0" expanded="true" />
576
+            <element signature="e#612#613#0" expanded="true" />
577
+          </folding>
395 578
         </state>
396 579
       </provider>
397 580
     </entry>
398
-    <entry file="file://$PROJECT_DIR$/arraz/src/main/java/Arraz.java">
581
+    <entry file="file://$PROJECT_DIR$/../Quiz/Quiz2/src/main/java/rocks/zipcode/quizweek7/arrays/StringArrayUtils.java">
399 582
       <provider selected="true" editor-type-id="text-editor">
400
-        <state relative-caret-position="0">
401
-          <caret line="0" column="15" lean-forward="false" selection-start-line="0" selection-start-column="15" selection-end-line="0" selection-end-column="15" />
402
-          <folding />
583
+        <state relative-caret-position="487">
584
+          <caret line="40" column="49" lean-forward="true" selection-start-line="40" selection-end-line="41" />
403 585
         </state>
404 586
       </provider>
405 587
     </entry>
406
-    <entry file="file://$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java">
588
+    <entry file="file://$PROJECT_DIR$/../Submitted/Assessment1/src/main/java/com/zipcodewilmington/assessment1/part2/ArrayUtils.java">
407 589
       <provider selected="true" editor-type-id="text-editor">
408
-        <state relative-caret-position="34">
409
-          <caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
410
-          <folding />
590
+        <state relative-caret-position="106">
591
+          <caret line="134" column="84" selection-start-line="134" selection-start-column="84" selection-end-line="134" selection-end-column="84" />
411 592
         </state>
412 593
       </provider>
413 594
     </entry>
414
-    <entry file="file://$PROJECT_DIR$/README.md">
415
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
416
-        <state split_layout="SPLIT">
417
-          <first_editor relative-caret-position="1241">
418
-            <caret line="73" column="0" lean-forward="true" selection-start-line="73" selection-start-column="0" selection-end-line="73" selection-end-column="0" />
419
-            <folding />
420
-          </first_editor>
421
-          <second_editor />
595
+    <entry file="jar://$MAVEN_REPOSITORY$/junit/junit/4.0/junit-4.0.jar!/org/junit/internal/runners/TestMethodRunner.class">
596
+      <provider selected="true" editor-type-id="text-editor">
597
+        <state relative-caret-position="119">
598
+          <caret line="93" selection-start-line="93" selection-end-line="93" />
422 599
         </state>
423 600
       </provider>
424 601
     </entry>
425 602
     <entry file="file://$PROJECT_DIR$/arraz/pom.xml">
603
+      <provider selected="true" editor-type-id="text-editor" />
604
+    </entry>
605
+    <entry file="file://$PROJECT_DIR$/../Submitted/JavaAssessment2Final/src/main/java/com/zipcodewilmington/assessment2/part2/ArrayUtility.java">
426 606
       <provider selected="true" editor-type-id="text-editor">
427
-        <state relative-caret-position="0">
428
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
429
-          <folding />
607
+        <state relative-caret-position="75">
608
+          <caret line="9" selection-start-line="9" selection-end-line="18" selection-end-column="5" />
430 609
         </state>
431 610
       </provider>
432 611
     </entry>
433 612
     <entry file="file://$PROJECT_DIR$/arraz/src/main/java/Arraz.java">
434 613
       <provider selected="true" editor-type-id="text-editor">
435
-        <state relative-caret-position="0">
436
-          <caret line="0" column="15" lean-forward="false" selection-start-line="0" selection-start-column="15" selection-end-line="0" selection-end-column="15" />
437
-          <folding />
614
+        <state relative-caret-position="294">
615
+          <caret line="272" column="54" selection-start-line="272" selection-start-column="54" selection-end-line="272" selection-end-column="54" />
616
+          <folding>
617
+            <element signature="imports" expanded="true" />
618
+            <element signature="e#86#87#0" expanded="true" />
619
+            <element signature="e#113#114#0" expanded="true" />
620
+            <element signature="method#createEmptyArrayWithOutDuplicatesNotExact#0;class#Arraz#0" />
621
+            <element signature="method#getIndexsOfElements#0;class#Arraz#0" />
622
+            <element signature="method#containsIndex#0;class#Arraz#0" />
623
+            <element signature="method#findDuplicateOfElement#0;class#Arraz#0" />
624
+            <element signature="e#5603#5604#0" expanded="true" />
625
+            <element signature="e#5630#5631#0" expanded="true" />
626
+            <element signature="e#8227#8228#0" expanded="true" />
627
+            <element signature="e#8290#8291#0" expanded="true" />
628
+          </folding>
438 629
         </state>
439 630
       </provider>
440 631
     </entry>
441 632
     <entry file="file://$PROJECT_DIR$/arraz/src/test/java/ArrazTest.java">
442 633
       <provider selected="true" editor-type-id="text-editor">
443
-        <state relative-caret-position="34">
444
-          <caret line="2" column="23" lean-forward="false" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
445
-          <folding />
446
-        </state>
447
-      </provider>
448
-    </entry>
449
-    <entry file="file://$PROJECT_DIR$/README.md">
450
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
451
-        <state split_layout="SPLIT">
452
-          <first_editor relative-caret-position="306">
453
-            <caret line="18" column="0" lean-forward="true" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
454
-            <folding />
455
-          </first_editor>
456
-          <second_editor />
634
+        <state relative-caret-position="175">
635
+          <caret line="350" lean-forward="true" selection-start-line="350" selection-end-line="350" />
636
+          <folding>
637
+            <element signature="imports" expanded="true" />
638
+            <element signature="e#4916#4924#0" expanded="true" />
639
+            <element signature="e#5107#5116#0" expanded="true" />
640
+            <element signature="e#5367#5376#0" expanded="true" />
641
+            <element signature="e#5723#5732#0" expanded="true" />
642
+            <element signature="e#6174#6183#0" expanded="true" />
643
+            <element signature="e#6532#6541#0" expanded="true" />
644
+            <element signature="e#7002#7010#0" expanded="true" />
645
+            <element signature="e#7284#7292#0" expanded="true" />
646
+            <element signature="e#7601#7609#0" expanded="true" />
647
+            <element signature="e#7847#7856#0" expanded="true" />
648
+            <element signature="e#8205#8214#0" expanded="true" />
649
+            <element signature="e#8951#8960#0" expanded="true" />
650
+            <element signature="e#9385#9394#0" expanded="true" />
651
+            <element signature="e#9655#9664#0" expanded="true" />
652
+            <element signature="e#10000#10008#0" expanded="true" />
653
+            <element signature="e#10275#10283#0" expanded="true" />
654
+            <element signature="e#10636#10645#0" expanded="true" />
655
+            <element signature="e#10787#10795#0" expanded="true" />
656
+            <element signature="e#11020#11029#0" expanded="true" />
657
+            <element signature="e#11164#11173#0" expanded="true" />
658
+            <element signature="e#12023#12032#0" expanded="true" />
659
+            <element signature="e#12242#12251#0" expanded="true" />
660
+            <element signature="e#12545#12554#0" expanded="true" />
661
+            <element signature="e#12756#12765#0" expanded="true" />
662
+            <element signature="e#13162#13171#0" expanded="true" />
663
+            <element signature="e#13428#13437#0" expanded="true" />
664
+            <element signature="e#13836#13845#0" expanded="true" />
665
+            <element signature="e#14133#14142#0" expanded="true" />
666
+            <element signature="e#14509#14518#0" expanded="true" />
667
+            <element signature="e#14729#14738#0" expanded="true" />
668
+            <element signature="e#15108#15117#0" expanded="true" />
669
+            <element signature="e#15320#15329#0" expanded="true" />
670
+            <element signature="e#15693#15702#0" expanded="true" />
671
+            <element signature="e#16055#16064#0" expanded="true" />
672
+            <element signature="e#16459#16468#0" expanded="true" />
673
+            <element signature="e#16829#16838#0" expanded="true" />
674
+            <element signature="e#17306#17315#0" expanded="true" />
675
+            <element signature="e#17684#17693#0" expanded="true" />
676
+            <element signature="e#18165#18174#0" expanded="true" />
677
+            <element signature="e#18554#18563#0" expanded="true" />
678
+            <element signature="e#19036#19045#0" expanded="true" />
679
+            <element signature="e#19428#19437#0" expanded="true" />
680
+            <element signature="e#19909#19918#0" expanded="true" />
681
+            <element signature="e#20298#20307#0" expanded="true" />
682
+            <element signature="e#20831#20840#0" expanded="true" />
683
+            <element signature="e#21114#21123#0" expanded="true" />
684
+          </folding>
457 685
         </state>
458 686
       </provider>
459 687
     </entry>

+ 1
- 1
arraz/arraz.iml View File

@@ -1,6 +1,6 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
4 4
     <output url="file://$MODULE_DIR$/target/classes" />
5 5
     <output-test url="file://$MODULE_DIR$/target/test-classes" />
6 6
     <content url="file://$MODULE_DIR$">

+ 12
- 0
arraz/pom.xml View File

@@ -7,6 +7,18 @@
7 7
     <groupId>rocks.zipcode.arraysgonewild</groupId>
8 8
     <artifactId>arraz</artifactId>
9 9
     <version>1.0-SNAPSHOT</version>
10
+    <build>
11
+        <plugins>
12
+            <plugin>
13
+                <groupId>org.apache.maven.plugins</groupId>
14
+                <artifactId>maven-compiler-plugin</artifactId>
15
+                <configuration>
16
+                    <source>8</source>
17
+                    <target>8</target>
18
+                </configuration>
19
+            </plugin>
20
+        </plugins>
21
+    </build>
10 22
     <dependencies>
11 23
         <dependency>
12 24
             <groupId>junit</groupId>

+ 326
- 1
arraz/src/main/java/Arraz.java View File

@@ -1,2 +1,327 @@
1
-public class Arraz {
1
+import java.util.Arrays;
2
+import java.util.Iterator;
3
+import java.util.List;
4
+public class Arraz<T extends Object> {
5
+
6
+    private T[] array;
7
+
8
+    public Arraz(T[] arr) {
9
+        array = arr;
10
+    }
11
+    public Arraz() {
12
+    }
13
+    public Integer sumInteger() {
14
+        Integer sum = 0;
15
+        for(int i = 0; i < array.length; i ++){
16
+            sum += (Integer)array[i];
17
+        }
18
+        return sum;
19
+    }
20
+    public Integer sumInteger(Integer[] array) {
21
+        Integer sum = 0;
22
+        for(int i = 0; i < array.length; i ++){
23
+            sum += array[i];
24
+        }
25
+        return sum;
26
+    }
27
+    public Double sumDouble(){
28
+        Double sum = 0.0;
29
+        for(int i = 0; i < array.length; i ++){
30
+            sum += (Double)array[i];
31
+        }
32
+        return sum;
33
+    }
34
+    public Integer avgInteger() {
35
+        Integer sum = sumInteger();
36
+        return sum/array.length;
37
+    }
38
+    public Double avgInteger(Integer[] array) {
39
+        Integer sum = sumInteger(array);
40
+        return (double) sum / (double) array.length;
41
+    }
42
+    public Double avgDouble() {
43
+        Double sum = sumDouble();
44
+        return sum/array.length;
45
+    }
46
+    public boolean contains(Integer i) {
47
+        for (T anArray : array) {
48
+            if (anArray.equals(i)) {
49
+                return true;
50
+            }
51
+        }
52
+        return false;
53
+    }
54
+    public Integer[] reverse() {
55
+        Integer[] newArr = new Integer[array.length];
56
+        for(int i = 0; i < array.length; i ++){
57
+            newArr[(array.length - 1) - i] = (Integer) array[i];
58
+        }
59
+        return newArr;
60
+    }
61
+    public Integer[] reverse(Integer[] array) {
62
+        Integer[] newArr = new Integer[array.length];
63
+        for(int i = 0; i < array.length; i ++){
64
+            newArr[(array.length - 1) - i] = (Integer) array[i];
65
+        }
66
+        return newArr;
67
+    }
68
+    public OddEven getOddEvenes() {
69
+        OddEven answer = new OddEven();
70
+        for(T in : array){
71
+            if((Integer) in % 2 == 0){
72
+                answer.increaseEvens();
73
+            } else{
74
+                answer.increaseOdds();
75
+            }
76
+        }
77
+        return answer;
78
+    }
79
+    public int indexOf(T aba) {
80
+        for(int i = 0; i < array.length; i ++){
81
+            if(array[i].equals(aba)){
82
+                return i;
83
+            }
84
+        }
85
+        return -1;
86
+    }
87
+    public Integer[] copyIterator() {
88
+        Integer[] newArr = new Integer[array.length];
89
+        Iterator<T> it = Arrays.asList(this.array).iterator();
90
+        int i = 0;
91
+        while(it.hasNext()){
92
+            Integer element = (Integer) it.next();
93
+            newArr[i] = element;
94
+            i++;
95
+        }
96
+        return newArr;
97
+    }
98
+    public Integer[] copyLoop() {
99
+        Integer[] newArr = new Integer[array.length];
100
+        for(int i = 0; i < array.length; i ++){
101
+            newArr[i] = (Integer) array[i];
102
+        }
103
+        return newArr;
104
+    }
105
+    public T[] removeElement(T abba) {
106
+        boolean removed = false;
107
+        T[] newInt = Arrays.copyOf(array, array.length - 1);
108
+        for(int i = 0; i < newInt.length; i ++){
109
+            if(array[i].equals(abba)){
110
+                removed = true;
111
+            }
112
+            if(removed){
113
+                newInt[i] = array[i + 1];
114
+            } else {
115
+                newInt[i] = array[i];
116
+            }
117
+        }
118
+        return newInt;
119
+    }
120
+    public T[] insertElement(int i, T element) {
121
+        boolean added = false;
122
+        T[] newInt = Arrays.copyOf(array, array.length + 1);
123
+        for(int n = 0; n < newInt.length; n ++){
124
+            if(n == i){
125
+                added = true;
126
+                newInt[n] = element;
127
+                continue;
128
+            }
129
+            if(added){
130
+                newInt[n] = array[n - 1];
131
+            } else {
132
+                newInt[n] = array[n];
133
+            }
134
+        }
135
+        return newInt;
136
+    }
137
+    public MaxMin getMaxMin() {
138
+        Integer max = 0;
139
+        for(T in : array){
140
+            if((Integer) in > max){
141
+                max = (Integer)in;
142
+            }
143
+        }
144
+        Integer min = max;
145
+        for(T in : array){
146
+            if((Integer) in < min){
147
+                min = (Integer) in;
148
+            }
149
+        }
150
+        return new MaxMin(max, min);
151
+    }
152
+    public Integer[] removeDuplicates() {
153
+        Integer[] newArr = createEmptyArrayWithOutDuplicatesNotExact(2);
154
+        int index = 0;
155
+        for (int i = 0; i < array.length; i++) {
156
+            Integer number = (Integer)array[i];
157
+            int amount = findDuplicateOfElement(number);
158
+            if (amount >= 2) {
159
+                Integer[] indexes = getIndexsOfElements(number);
160
+                i = indexes[indexes.length - 1];
161
+            } else {
162
+                newArr[index] = (Integer)array[i];
163
+                index++;
164
+            }
165
+        }
166
+        return newArr;
167
+    }
168
+    public Integer[] createEmptyArrayWithOutDuplicatesNotExact(Integer maxNumberOfDuplications){
169
+        int removeAmount = 0;
170
+        for(int i = 0; i < array.length; i ++){
171
+            Integer[] indexes = getIndexsOfElements((Integer)array[i]);
172
+            if(indexes.length >= maxNumberOfDuplications) {
173
+                removeAmount += indexes.length;
174
+                i = indexes[indexes.length - 1];
175
+            }
176
+        }
177
+        return new Integer[array.length - removeAmount];
178
+    }
179
+
180
+    public Integer[] getIndexsOfElements(Integer element){
181
+        Integer[] indexes = new Integer[findDuplicateOfElement(element)];
182
+        for(int i = 0; i < indexes.length; i ++){
183
+            for(int j = 0; j < array.length; j ++){
184
+                if(array[j].equals(element)){
185
+                    if(!containsIndex(indexes, j)){
186
+                        indexes[i] = j;
187
+                        break;
188
+                    }
189
+                }
190
+            }
191
+        }
192
+        return indexes;
193
+    }
194
+
195
+    public boolean containsIndex(Integer[] arr, Integer element){
196
+        for(Integer integer : arr){
197
+            if(integer != null) {
198
+                if (integer.equals(element)) {
199
+                    return true;
200
+                }
201
+            }
202
+        }
203
+        return false;
204
+    }
205
+
206
+    public int findDuplicateOfElement(int element){
207
+        int count = 0;
208
+        for(T i : array){
209
+            if(i.equals(element)){
210
+                count ++;
211
+            }
212
+        }
213
+        return count;
214
+    }
215
+    public Double find2ndLargestValueFromArray() {
216
+        Double arr[] = new Double[array.length];
217
+        for(int i = 0; i < array.length; i ++){
218
+            if(array[i] instanceof Double){
219
+                arr[i] = (Double) array[i];
220
+            }
221
+        }
222
+        Arrays.sort(arr);
223
+        return arr[arr.length -2];
224
+    }
225
+    public List<T> makeMeAnArrayListFromArray() {
226
+        return Arrays.asList(array);
227
+    }
228
+    public Integer[] makeMeAnArrayFromArrayList(List<Integer> test) {
229
+        return test.toArray(new Integer[test.size()]);
230
+    }
231
+    public boolean isEqual(T[] test02) {
232
+        boolean equal = false;
233
+        for(int i = 0; i < array.length; i ++){
234
+            if(array[i].equals(test02[i])){
235
+                equal = true;
236
+            } else {
237
+                equal = false;
238
+                break;
239
+            }
240
+        }
241
+        return equal;
242
+    }
243
+    public Integer[] convertToIntArray(){
244
+        Integer[] newArr = new Integer[array.length];
245
+        for(int i = 0; i < array.length; i ++){
246
+            Integer element = (Integer) array[i];
247
+            newArr[i] = element;
248
+        }
249
+        return newArr;
250
+    }
251
+    public Integer[] convertToIntArray(T[] array){
252
+        Integer[] newArr = new Integer[array.length];
253
+        for(int i = 0; i < array.length; i ++){
254
+            Integer element = (Integer) array[i];
255
+            newArr[i] = element;
256
+        }
257
+        return newArr;
258
+    }
259
+    public Double averageArrayWithoutMaxMin() {
260
+        Integer[] newArr = convertToIntArray();
261
+        Arrays.sort(newArr);
262
+        Integer[] findAvg = Arrays.copyOfRange(newArr, 1, newArr.length-1);
263
+        return avgInteger(findAvg);
264
+    }
265
+    public boolean arrayHas65and77() {
266
+        return contains(65) && contains(77);
267
+    }
268
+    public boolean theTotalofTensIs30() {
269
+        Integer tenTotal = 0;
270
+        for(int i = 0; i < array.length; i ++){
271
+            Integer number = (Integer) array[i];
272
+            if(number % 10 == 0){
273
+                tenTotal += number;
274
+            }
275
+        }
276
+        return tenTotal % 30 == 0;
277
+    }
278
+    public SmallestSecondSmallest findSmallestSecondSmallest() {
279
+        Integer[] newArr = convertToIntArray();
280
+        Arrays.sort(newArr);
281
+        return new SmallestSecondSmallest(newArr[0], newArr[1]);
282
+    }
283
+    public Integer[] makeMeACopyPlease() {
284
+        Integer[] newArr = convertToIntArray();
285
+        return reverse(newArr);
286
+    }
287
+    public Integer[] removeLastItemAndCopy() {
288
+        T[] newArr = removeElement(array[array.length - 1]);
289
+        return convertToIntArray(newArr);
290
+    }
291
+    public Integer[] removeFirstItemAndCopy() {
292
+        T[] newArr = removeElement(array[0]);
293
+        return convertToIntArray(newArr);
294
+    }
295
+    public T[] insertFirstItemAndCopy(T i) {
296
+        T[] newArr = insertElement(0, i);
297
+        return newArr;
298
+    }
299
+    public T[] insertAtEndAndCopy(T i) {
300
+        T[] newArr = insertElement(array.length, i);
301
+        return newArr;
302
+    }
303
+    public Integer[] sortArrayIntoEvensThenOdds() {
304
+        OddEven type = getOddEvenes();
305
+        Integer[] odds = new Integer[type.getOdds()];
306
+        int oddIndex = 0;
307
+        Integer[] even = new Integer[type.getEvens()];
308
+        int evenIndex = 0;
309
+        for(int i = 0; i < array.length; i ++){
310
+            Integer number = (Integer) array[i];
311
+            if(number % 2 == 0){
312
+                even[evenIndex] = number;
313
+                evenIndex++;
314
+            } else {
315
+                odds[oddIndex] = number;
316
+                oddIndex ++;
317
+            }
318
+        }
319
+        return merge(even, odds);
320
+    }
321
+    public Integer[] merge(Integer[] array1, Integer[] array2) {
322
+        Integer[] result = Arrays.copyOf(array1, array1.length + array2.length);
323
+        System.arraycopy(array2, 0, result, array1.length, array2.length);
324
+        return result;
325
+    }
2 326
 }
327
+

+ 36
- 0
arraz/src/main/java/MaxMin.java View File

@@ -0,0 +1,36 @@
1
+public class MaxMin {
2
+    public int max;
3
+    public int min;
4
+
5
+    public MaxMin(int max, int min) {
6
+        this.max = max;
7
+        this.min = min;
8
+    }
9
+
10
+    public MaxMin() {
11
+    }
12
+
13
+    public int getMax() {
14
+        return max;
15
+    }
16
+
17
+    public int getMin() {
18
+        return min;
19
+    }
20
+
21
+    @Override
22
+    public boolean equals(Object obj) {
23
+        if(obj instanceof MaxMin){
24
+            return ((MaxMin)obj).getMax() == max && ((MaxMin)obj).getMin() == min;
25
+        }
26
+        return false;
27
+    }
28
+
29
+    @Override
30
+    public String toString() {
31
+        return "MaxMin{" +
32
+                "max=" + max +
33
+                ", min=" + min +
34
+                '}';
35
+    }
36
+}

+ 54
- 0
arraz/src/main/java/OddEven.java View File

@@ -0,0 +1,54 @@
1
+public class OddEven {
2
+    private int odds;
3
+    private int evens;
4
+
5
+    public OddEven(int odds, int evens) {
6
+        this.odds = odds;
7
+        this.evens = evens;
8
+    }
9
+
10
+    public OddEven() {
11
+        this.odds = 0;
12
+        this.evens = 0;
13
+    }
14
+
15
+    public void increaseOdds(){
16
+        this.odds ++;
17
+    }
18
+
19
+    public void increaseEvens(){
20
+        this.evens ++;
21
+    }
22
+
23
+    public int getOdds() {
24
+        return odds;
25
+    }
26
+
27
+    public void setOdds(int odds) {
28
+        this.odds = odds;
29
+    }
30
+
31
+    public int getEvens() {
32
+        return evens;
33
+    }
34
+
35
+    public void setEvens(int evens) {
36
+        this.evens = evens;
37
+    }
38
+
39
+    @Override
40
+    public boolean equals(Object obj) {
41
+        if(obj instanceof OddEven){
42
+            return ((OddEven) obj).getEvens() == this.getEvens() && ((OddEven) obj).getOdds() == this.getOdds();
43
+        }
44
+        return false;
45
+    }
46
+
47
+    @Override
48
+    public String toString() {
49
+        return "OddEven{" +
50
+                "odds=" + odds +
51
+                ", evens=" + evens +
52
+                '}';
53
+    }
54
+}

+ 44
- 0
arraz/src/main/java/SmallestSecondSmallest.java View File

@@ -0,0 +1,44 @@
1
+public class SmallestSecondSmallest {
2
+    int smallest;
3
+    int secondSmallest;
4
+
5
+    public SmallestSecondSmallest(int smallest, int secondSmallest) {
6
+        this.smallest = smallest;
7
+        this.secondSmallest = secondSmallest;
8
+    }
9
+
10
+    public SmallestSecondSmallest() {
11
+    }
12
+
13
+    public int getSmallest() {
14
+        return smallest;
15
+    }
16
+
17
+    public void setSmallest(int smallest) {
18
+        this.smallest = smallest;
19
+    }
20
+
21
+    public int getSecondSmallest() {
22
+        return secondSmallest;
23
+    }
24
+
25
+    public void setSecondSmallest(int secondSmallest) {
26
+        this.secondSmallest = secondSmallest;
27
+    }
28
+
29
+    @Override
30
+    public boolean equals(Object obj) {
31
+        if(obj instanceof SmallestSecondSmallest){
32
+            return ((SmallestSecondSmallest) obj).getSecondSmallest() == secondSmallest &&  ((SmallestSecondSmallest) obj).getSmallest() == smallest;
33
+        }
34
+        return false;
35
+    }
36
+
37
+    @Override
38
+    public String toString() {
39
+        return "SmallestSecondSmallest{" +
40
+                "smallest=" + smallest +
41
+                ", secondSmallest=" + secondSmallest +
42
+                '}';
43
+    }
44
+}

+ 575
- 1
arraz/src/test/java/ArrazTest.java View File

@@ -1,5 +1,579 @@
1
-import static org.junit.Assert.*;
1
+import junit.framework.Assert;
2
+import org.junit.Test;
3
+import java.util.ArrayList;
4
+import java.util.Arrays;
5
+import java.util.List;
2 6
 
3 7
 public class ArrazTest {
4 8
 
9
+//     * sum values of an array of integers sumValuesOfArray
10
+        @Test
11
+        public void test01SumIntegerValues(){
12
+            Integer[] test = {0, 1, 1, 2, 3, 4};
13
+            Arraz<Integer> arr = new Arraz(test);
14
+            Integer expect = 11;
15
+            Integer actual = arr.sumInteger();
16
+
17
+            Assert.assertEquals(expect, actual);
18
+        }
19
+
20
+        @Test
21
+        public void test02SumIntegerValues(){
22
+            Integer[] test = {0, 1, 1, 2, 3, 4, 4, 4, 5, 6, 1, 2, 3, 4};
23
+            Arraz<Integer> arr = new Arraz(test);
24
+            Integer expect = 40;
25
+            Integer actual = arr.sumInteger();
26
+
27
+            Assert.assertEquals(expect, actual);
28
+        }
29
+
30
+//     * sum values of an array of doubles sumDoublesOfArray
31
+        @Test
32
+        public void test01SumDoubleValues(){
33
+            Double[] test = {.5, .5,.5, .5,.5, .5,.5, .5,.5, .5,.5, .5,.5, .5,.5, .5,.5, .5,};
34
+            Arraz<Double> arr = new Arraz(test);
35
+            Double expect = 9.0;
36
+            Double actual = arr.sumDouble();
37
+
38
+            Assert.assertEquals(expect, actual);
39
+        }
40
+
41
+        @Test
42
+        public void test02SumDoubleValues(){
43
+            Double[] test = {0.4, 1.6, 1.5};
44
+            Arraz<Double> arr = new Arraz(test);
45
+            double expect = 3.5;
46
+            double actual = arr.sumDouble();
47
+
48
+            Assert.assertEquals(expect, actual);
49
+        }
50
+
51
+//     * calculate the average value of an integer array - return an integer averageOfArray
52
+        @Test
53
+        public void test01AvgIntegerValues(){
54
+            Integer[] test = {0, 1, 2, 2, 3, 4};
55
+            Arraz<Integer> arr = new Arraz(test);
56
+            Integer expect = 2;
57
+            Integer actual = arr.avgInteger();
58
+
59
+            Assert.assertEquals(expect, actual);
60
+        }
61
+
62
+        @Test
63
+        public void test02AvgIntegerValues(){
64
+            Integer[] test = {5, 5, 5, 5, 5};
65
+            Arraz<Integer> arr = new Arraz(test);
66
+            Integer expect = 5;
67
+            Integer actual = arr.avgInteger();
68
+
69
+            Assert.assertEquals(expect, actual);
70
+        }
71
+
72
+//     * calculate the average value of an double array - return an double doubleAverageOfArray
73
+        @Test
74
+        public void test01doubleAverageOfArray(){
75
+            Double[] test = {.5, .5, .5, .5, .5, .5};
76
+            Arraz<Double> arr = new Arraz(test);
77
+            double expect = .5;
78
+            double actual = arr.avgDouble();
79
+
80
+            Assert.assertEquals(expect, actual);
81
+        }
82
+
83
+        @Test
84
+        public void test02doubleAverageOfArray(){
85
+            Double[] test = {.17, .13, .25, .25, .5};
86
+            Arraz<Integer> arr = new Arraz(test);
87
+            double expect = .26;
88
+            double actual = arr.avgDouble();
89
+
90
+            Assert.assertEquals(expect, actual);
91
+        }
92
+//     * to test if an integer array contains a specific value, pass both array and value as arguments containsValue
93
+        @Test
94
+        public void test01IntegerContains(){
95
+            Integer[] test = {4,5,102,6,-7,12,-32,92,8};
96
+            Arraz<Integer> arr = new Arraz(test);
97
+            Assert.assertTrue(arr.contains(5));
98
+        }
99
+
100
+        @Test
101
+        public void test02IntegerContains(){
102
+            Integer[] test = {4,5,102,6,-7,12,-32,92,8};
103
+            Arraz<Integer> arr = new Arraz(test);
104
+            Assert.assertFalse(arr.contains(19));
105
+        }
106
+
107
+//     * reverse an array of integer values reverseArray
108
+    @Test
109
+    public void test01IntegerReverse(){
110
+        Integer[] test = {4,5,102,6,-7,12,-32,92,8};
111
+        Arraz<Integer> arr = new Arraz(test);
112
+        Integer[] expect = {8, 92, -32, 12, -7, 6, 102, 5, 4};
113
+        Integer[] actual = arr.reverse();
114
+        for(int i = 0; i < expect.length; i ++){
115
+            Assert.assertEquals(expect[i], actual[i]);
116
+        }
117
+    }
118
+
119
+    @Test
120
+    public void test02IntegerReverse(){
121
+        Integer[] test = {1, 2, 3, 4, 5};
122
+        Integer[] expect = {5, 4, 3, 2, 1};
123
+        Arraz<Integer> arr = new Arraz(test);
124
+        Integer[] actual = arr.reverse();
125
+        for(int i = 0; i < expect.length; i ++){
126
+            Assert.assertEquals(expect[i], actual[i]);
127
+        }
128
+    }
129
+
130
+//     * find the number of even and odd integers in a given array of integers getOddEvensOfArray, return an object of type OddEven
131
+    @Test
132
+    public void getEventOdds01(){
133
+        Integer[] test = {0, 1, 2, 3, 4, 5, 6};
134
+        Arraz<Integer> arr = new Arraz(test);
135
+        OddEven expect = new OddEven(3, 4);
136
+        OddEven actual = arr.getOddEvenes();
137
+        Assert.assertEquals(expect, actual);
138
+    }
139
+
140
+    @Test
141
+    public void getEventOdds02(){
142
+        Integer[] test = {0, 18, 92, 83, -13, 45};
143
+        Arraz<Integer> arr = new Arraz(test);
144
+        OddEven expect = new OddEven(3, 3);
145
+        OddEven actual = arr.getOddEvenes();
146
+        Assert.assertEquals(expect, actual);
147
+    }
148
+//     * find the index of an array element, pass both array and value as arguments findIndexOf
149
+    @Test
150
+    public void test01IndexOf(){
151
+       String[] test = {"aba", "abab", "abbaba"};
152
+       Arraz<String> arr = new Arraz<String>(test);
153
+       Assert.assertTrue(arr.indexOf("aba") == 0);
154
+    }
155
+
156
+    @Test
157
+    public void test02IndexOf(){
158
+        Integer[] test = {0, 1, 2};
159
+        Arraz<Integer> arr = new Arraz<Integer>(test);
160
+        Assert.assertTrue(arr.indexOf(1) == 1);
161
+    }
162
+//     * copy an array by iterating the array copyArrayByInterator
163
+    @Test
164
+    public void test01IteratorCopy(){
165
+        Integer[] test = {0, 1, 2};
166
+        Arraz<Integer> arr = new Arraz<Integer>(test);
167
+        Integer[] expect = {0, 1, 2};
168
+        Integer[] actual = arr.copyIterator();
169
+        for(int i = 0; i < expect.length; i ++){
170
+            Assert.assertEquals(expect[i], actual[i]);
171
+        }
172
+    }
173
+
174
+    @Test
175
+    public void test02IteratorCopy(){
176
+        Integer[] test = {0, 1, 2, 5, 9, 7, 1, 3};
177
+        Arraz<Integer> arr = new Arraz<Integer>(test);
178
+        Integer[] expect = {0, 1, 2, 5, 9, 7, 1, 3};
179
+        Integer[] actual = arr.copyIterator();
180
+        for(int i = 0; i < expect.length; i ++){
181
+            Assert.assertEquals(expect[i], actual[i]);
182
+        }
183
+    }
184
+
185
+//     * copy an array by looping thru the array copyArrayByLoop
186
+    @Test
187
+    public void test01LoopCopy(){
188
+        Integer[] test = {0, 1, 2, 5, 9, 7, 1, 3};
189
+        Arraz<Integer> arr = new Arraz<Integer>(test);
190
+        Integer[] expect = {0, 1, 2, 5, 9, 7, 1, 3};
191
+        Integer[] actual = arr.copyLoop();
192
+        for(int i = 0; i < expect.length; i ++){
193
+            Assert.assertEquals(expect[i], actual[i]);
194
+        }
195
+    }
196
+
197
+    @Test
198
+    public void test02LoopCopy(){
199
+        Integer[] test = {0, 1, 2};
200
+        Arraz<Integer> arr = new Arraz<Integer>(test);
201
+        Integer[] expect = {0, 1, 2};
202
+        Integer[] actual = arr.copyLoop();
203
+        for(int i = 0; i < expect.length; i ++){
204
+            Assert.assertEquals(expect[i], actual[i]);
205
+        }
206
+    }
207
+//     * remove a specific element from an array removeElementFromArray
208
+    @Test
209
+    public void test01RemoveElement(){
210
+        String[] test = {"aba", "abba", "abba", "abaaba"};
211
+        String[] expect = {"aba", "abba", "abaaba"};
212
+        Arraz<String> arr = new Arraz<String>(test);
213
+        String[] actual = arr.removeElement("abba");
214
+        for(int i = 0; i < expect.length; i ++){
215
+            Assert.assertEquals(expect[i], actual[i]);
216
+        }
217
+    }
218
+
219
+    @Test
220
+    public void test02RemoveElement(){
221
+        Integer[] test = {0, 1, 1, 2, 3};
222
+        Integer[] expect = {0, 1, 2, 3};
223
+        Arraz<Integer> arr = new Arraz<Integer>(test);
224
+        Integer[] actual = arr.removeElement(1);
225
+        for(int i = 0; i < expect.length; i ++){
226
+            Assert.assertEquals(expect[i], actual[i]);
227
+        }
228
+    }
229
+//     * insert an element into an array a specific position insertIntoArrayAt
230
+    @Test
231
+    public void test01InsertElement(){
232
+        String[] test = {"aba", "abba", "abba", "abaaba"};
233
+        String[] expect = {"aba", "abba","abba", "abba", "abaaba"};
234
+        Arraz<String> arr = new Arraz<String>(test);
235
+        String[] actual = arr.insertElement(1, "abba");
236
+        for(int i = 0; i < expect.length; i ++){
237
+            Assert.assertEquals(expect[i], actual[i]);
238
+        }
239
+    }
240
+
241
+    @Test
242
+    public void test02InsertElement(){
243
+        Integer[] test = {0, 1, 1, 2, 3};
244
+        Integer[] expect = {0, 5, 1, 1, 2, 3};
245
+        Arraz<Integer> arr = new Arraz<Integer>(test);
246
+        Integer[] actual = arr.insertElement(1, 5);
247
+        for(int i = 0; i < expect.length; i ++){
248
+            Assert.assertEquals(expect[i], actual[i]);
249
+        }
250
+    }
251
+//     * find the maximum and minimum value of an array findMaxMinOfArray return a MaxMin
252
+    @Test
253
+    public void test01FindMinMax(){
254
+       Integer[] test = {0, 1, 2, 3, 4, 5, 3, 2};
255
+       MaxMin expect = new MaxMin(5, 0);
256
+       Arraz<Integer> arr = new Arraz<Integer>(test);
257
+       MaxMin actual = arr.getMaxMin();
258
+       Assert.assertEquals(expect, actual);
259
+    }
260
+
261
+    @Test
262
+    public void test02FindMinMax(){
263
+        Integer[] test = {0, 1, 2, 3, 4, 5, 3, 2, 9, 17, -32, 5};
264
+        MaxMin expect = new MaxMin(17, -32);
265
+        Arraz<Integer> arr = new Arraz<Integer>(test);
266
+        MaxMin actual = arr.getMaxMin();
267
+        Assert.assertEquals(expect, actual);
268
+    }
269
+//     * remove duplicate elements from an array, return new array removeDupesFromArray (make it an array of Integers)
270
+    @Test
271
+    public void test01RemoveDuplicates(){
272
+        Integer[] test  = {0, 1, 1, 2, 3, 3, 4, 4, 5, 6};
273
+        Integer[] expect = {0, 2, 5, 6};
274
+        Arraz<Integer> arr = new Arraz<Integer>(test);
275
+        Integer[] actual = arr.removeDuplicates();
276
+        for(int i = 0; i < expect.length; i ++){
277
+            Assert.assertEquals(expect[i], actual[i]);
278
+        }
279
+    }
280
+
281
+    @Test
282
+    public void test02RemoveDuplicates(){
283
+        Integer[] test  = {0, 1, 2, 1, 2, 3, 3, 4, 4, 5, 6};
284
+        Integer[] expect = {0, 5, 6};
285
+        Arraz<Integer> arr = new Arraz<Integer>(test);
286
+        Integer[] actual = arr.removeDuplicates();
287
+        for(int i = 0; i < expect.length; i ++){
288
+            Assert.assertEquals(expect[i], actual[i]);
289
+        }
290
+    }
291
+//     * find the second largest element in an array of Doubles find2ndLargestValueFromArray
292
+    @Test
293
+    public void test01find2ndLargestValueFromArray(){
294
+        Double[] test = {0.0, .1, .223, .54, -.9};
295
+        Double expect = .223;
296
+        Arraz<Double> arr = new Arraz<Double>(test);
297
+        Double actual = arr.find2ndLargestValueFromArray();
298
+        Assert.assertEquals(expect, actual);
299
+    }
300
+
301
+    @Test
302
+    public void test02find2ndLargestValueFromArray(){
303
+        Double[] test = {0.0, .1, .223, .54, -.9, .224, .93};
304
+        Double expect = .54;
305
+        Arraz<Double> arr = new Arraz<Double>(test);
306
+        Double actual = arr.find2ndLargestValueFromArray();
307
+        Assert.assertEquals(expect, actual);
308
+    }
309
+//     * convert an array to ArrayList makeMeAnArrayListFromArray
310
+    @Test
311
+    public void test01makeMeAnArrayListFromArray(){
312
+        Integer[] test = {0, 1, 2, 3, 4, 5};
313
+        List<Integer> expect = new ArrayList<Integer>();
314
+        expect.add(0);expect.add(1);expect.add(2);expect.add(3);expect.add(4);expect.add(5);
315
+        Arraz<Integer> arr = new Arraz<Integer>(test);
316
+        List<Integer> actual = arr.makeMeAnArrayListFromArray();
317
+        for(int i = 0; i < expect.size(); i ++){
318
+            Assert.assertEquals(expect.get(i), actual.get(i));
319
+        }
320
+    }
321
+
322
+    @Test
323
+    public void test02makeMeAnArrayListFromArray(){
324
+        Integer[] test = {5, 5, 7, 6, 2, 5, 7, -1};
325
+        List<Integer> expect = new ArrayList<Integer>();
326
+        expect.add(5);expect.add(5);expect.add(7);expect.add(6);expect.add(2);expect.add(5);expect.add(7);expect.add(-1);
327
+        Arraz<Integer> arr = new Arraz<Integer>(test);
328
+        List<Integer> actual = arr.makeMeAnArrayListFromArray();
329
+        for(int i = 0; i < expect.size(); i ++){
330
+            Assert.assertEquals(expect.get(i), actual.get(i));
331
+        }
332
+    }
333
+
334
+//     * convert an ArrayList to an array makeMeAnArrayFromArrayList
335
+    @Test
336
+    public void test01makeMeAnArrayFromArrayList(){
337
+        List<Integer> test = new ArrayList<Integer>();
338
+        test.add(5);test.add(5);test.add(7);test.add(6);test.add(2);test.add(5);test.add(7);test.add(-1);
339
+        Integer[] expect = {5, 5, 7, 6, 2, 5, 7, -1};
340
+        Arraz<Integer> arr = new Arraz<Integer>();
341
+        Integer[] actual = arr.makeMeAnArrayFromArrayList(test);
342
+        System.out.println(Arrays.toString(actual));
343
+        for(int i = 0; i < expect.length; i ++){
344
+            Assert.assertEquals(expect[i], actual[i]);
345
+        }
346
+    }
347
+
348
+    @Test
349
+    public void test02makeMeAnArrayFromArrayList(){
350
+        List<Integer> test = new ArrayList<Integer>();
351
+        test.add(0);test.add(1);test.add(2);test.add(3);test.add(4);test.add(5);
352
+        Integer[] expect = {0, 1, 2, 3, 4, 5};
353
+        Arraz<Integer> arr = new Arraz<Integer>();
354
+        Integer[] actual = arr.makeMeAnArrayFromArrayList(test);
355
+        for(int i = 0; i < expect.length; i ++){
356
+            Assert.assertEquals(expect[i], actual[i]);
357
+        }
358
+    }
359
+//     * test the equality of two arrays check2ArraysForEqual
360
+    @Test
361
+    public void test01check2ArraysForEqual(){
362
+        Integer[] test = {0, 1, 2, 3, 4, 5};
363
+        Integer[] test02 = {0, 1, 2, 3, 4, 5};
364
+        Arraz<Integer> arr = new Arraz<Integer>(test);
365
+        Assert.assertTrue(arr.isEqual(test02));
366
+    }
367
+
368
+    @Test
369
+    public void test02check2ArraysForEqual(){
370
+        String[] test = {"aba", "aabab", "ababa"};
371
+        String[] test02 = {"aba", "ababa"};
372
+        Arraz<String> arr = new Arraz<String>(test);
373
+        Assert.assertFalse(arr.isEqual(test02));
374
+    }
375
+
376
+//     * compute the average value of an array of integers except the largest and smallest values (be thinking of code re-use for this one) averageArrayWithoutMaxMin
377
+    @Test
378
+    public void test01averageArrayWithoutMaxMin(){
379
+        Integer[] test = {0, 2, 4, 2, 4, 5};
380
+        double expect = 3;
381
+        Arraz<Integer> arr = new Arraz<Integer>(test);
382
+        double actual = arr.averageArrayWithoutMaxMin();
383
+        Assert.assertEquals(expect, actual);
384
+    }
385
+
386
+    @Test
387
+    public void test02averageArrayWithoutMaxMin(){
388
+        Integer[] test = {0, -1, 2, 13, 45, 2};
389
+        double expect = 4.25;
390
+        Arraz<Integer> arr = new Arraz<Integer>(test);
391
+        double actual = arr.averageArrayWithoutMaxMin();
392
+        Assert.assertEquals(expect, actual);
393
+    }
394
+
395
+//     * check if an array of integers contains two specified elements: 65 and 77, returns a boolean arrayHas65and77
396
+    @Test
397
+    public void test01arrayHas65and77(){
398
+        Integer[] test = {0, 1, 2, 3, 65, 4, 5, 77};
399
+        Arraz<Integer> arr = new Arraz<Integer>(test);
400
+        Assert.assertTrue(arr.arrayHas65and77());
401
+    }
402
+
403
+    @Test
404
+    public void test02arrayHas65and77(){
405
+        Integer[] test = {0, 1, 2, 3, 4, 5, 77};
406
+        Arraz<Integer> arr = new Arraz<Integer>(test);
407
+        Assert.assertFalse(arr.arrayHas65and77());
408
+    }
409
+
410
+//     * check if the sum of all the 10's in the array is exactly 30. Return false if the condition does not satisfy, otherwise true. theTotalofTensIs30
411
+    @Test
412
+    public void test01theTotalofTensIs30(){
413
+        Integer[] test = {10, 10, 10, 5, 4, 2, 6};
414
+        Arraz<Integer> arr = new Arraz<Integer>(test);
415
+        Assert.assertTrue(arr.theTotalofTensIs30());
416
+    }
417
+
418
+    @Test
419
+    public void test02theTotalofTensIs30(){
420
+        Integer[] test = {10, 10, 10, 10, 5, 4, 2, 6};
421
+        Arraz<Integer> arr = new Arraz<Integer>(test);
422
+        Assert.assertFalse(arr.theTotalofTensIs30());
423
+    }
424
+
425
+//     * find smallest and second smallest elements of a given array
426
+    @Test
427
+    public void test01findSmallestSecondSmallest(){
428
+        Integer[] test = {0, 1, 2, 3, 4, 5};
429
+        SmallestSecondSmallest expect = new SmallestSecondSmallest(0, 1);
430
+        Arraz<Integer> arr = new Arraz<Integer>(test);
431
+        SmallestSecondSmallest actual = arr.findSmallestSecondSmallest();
432
+        Assert.assertEquals(expect, actual);
433
+    }
434
+
435
+    @Test
436
+    public void test02findSmallestSecondSmalled(){
437
+        Integer[] test = {0, 5, 2, 3, 4, 5};
438
+        SmallestSecondSmallest expect = new SmallestSecondSmallest(0, 2);
439
+        Arraz<Integer> arr = new Arraz<Integer>(test);
440
+        SmallestSecondSmallest actual = arr.findSmallestSecondSmallest();
441
+        Assert.assertEquals(expect, actual);
442
+    }
443
+
444
+//     * copy an array of integers, reverse it, and return it. makeMeACopyPlease
445
+    @Test
446
+    public void test01makeMeACopyPlease(){
447
+        Integer[] test = {0, 1, 2, 3, 4, 5};
448
+        Integer[] expect = {5, 4, 3, 2, 1};
449
+        Arraz<Integer> arr = new Arraz<Integer>(test);
450
+        Integer[] actual = arr.makeMeACopyPlease();
451
+        for(int i = 0; i < expect.length; i ++){
452
+            Assert.assertEquals(expect[i], actual[i]);
453
+        }
454
+    }
455
+
456
+    @Test
457
+    public void test02makeMeACopyPlease(){
458
+        Integer[] test = {0, 3, 2, 5, 6, 5};
459
+        Integer[] expect = {5, 6, 5, 2, 3, 0};
460
+        Arraz<Integer> arr = new Arraz<Integer>(test);
461
+        Integer[] actual = arr.makeMeACopyPlease();
462
+        for(int i = 0; i < expect.length; i ++){
463
+            Assert.assertEquals(expect[i], actual[i]);
464
+        }
465
+    }
466
+
467
+//     * remove the last element from an array of integers, return a copy removeLastItemAndCopy
468
+    @Test
469
+    public void test01removeLastItemAndCopy(){
470
+        Integer[] test = {0, 1, 2, 3, 4, 5};
471
+        Integer[] expect = {0, 1, 2, 3, 4};
472
+        Arraz<Integer> arr = new Arraz<Integer>(test);
473
+        Integer[] actual = arr.removeLastItemAndCopy();
474
+        for(int i = 0; i < expect.length; i ++){
475
+            Assert.assertEquals(expect[i], actual[i]);
476
+        }
477
+    }
478
+
479
+    @Test
480
+    public void test02removeLastItemAndCopy(){
481
+        Integer[] test = {0, 1, 2, 3, 4, -5};
482
+        Integer[] expect = {0, 1, 2, 3, 4};
483
+        Arraz<Integer> arr = new Arraz<Integer>(test);
484
+        Integer[] actual = arr.removeLastItemAndCopy();
485
+        for(int i = 0; i < expect.length; i ++){
486
+            Assert.assertEquals(expect[i], actual[i]);
487
+        }
488
+    }
489
+
490
+
491
+//     * remove the first element from an array of integers, return a copy removeFirstItemAndCopy
492
+    @Test
493
+    public void test01removeFirstItemAndCopy(){
494
+        Integer[] test = {0, 1, 2, 3, 4, -5};
495
+        Integer[] expect = {1, 2, 3, 4, -5};
496
+        Arraz<Integer> arr = new Arraz<Integer>(test);
497
+        Integer[] actual = arr.removeFirstItemAndCopy();
498
+        for(int i = 0; i < expect.length; i ++){
499
+            Assert.assertEquals(expect[i], actual[i]);
500
+        }
501
+    }
502
+
503
+    @Test
504
+    public void test02removeFirstItemAndCopy(){
505
+        Integer[] test = {-5, 1, 2, 3, 4, -5};
506
+        Integer[] expect = {1, 2, 3, 4, -5};
507
+        Arraz<Integer> arr = new Arraz<Integer>(test);
508
+        Integer[] actual = arr.removeFirstItemAndCopy();
509
+        for(int i = 0; i < expect.length; i ++){
510
+            Assert.assertEquals(expect[i], actual[i]);
511
+        }
512
+    }
513
+
514
+//     * insert a new element at the start of an array, return a copy insertAtStartAndCopy
515
+    @Test
516
+    public void test01insertAtStartAndCopy(){
517
+        Integer[] test = {1, 1, 2, 3, 4, -5};
518
+        Integer[] expect = {1, 1, 1, 2, 3, 4, -5};
519
+        Arraz<Integer> arr = new Arraz<Integer>(test);
520
+        Integer[] actual = arr.insertFirstItemAndCopy(1);
521
+        for(int i = 0; i < expect.length; i ++){
522
+            Assert.assertEquals(expect[i], actual[i]);
523
+        }
524
+    }
525
+
526
+    @Test
527
+    public void test02insertAtStartAndCopy(){
528
+        Integer[] test = {1, 1, 2, 3, 4, -5};
529
+        Integer[] expect = {16, 1, 1, 2, 3, 4, -5};
530
+        Arraz<Integer> arr = new Arraz<Integer>(test);
531
+        Integer[] actual = arr.insertFirstItemAndCopy(16);
532
+        for(int i = 0; i < expect.length; i ++){
533
+            Assert.assertEquals(expect[i], actual[i]);
534
+        }
535
+    }
536
+
537
+//     * insert a new element at the end of an array, return a copy insertAtEndAndCopy
538
+    @Test
539
+    public void test01insertAtEndAndCopy(){
540
+        Integer[] test = {1, 1, 2, 3, 4, -5};
541
+        Integer[] expect = { 1, 1, 2, 3, 4, -5, 16};
542
+        System.out.println(Arrays.toString(expect));
543
+        Arraz<Integer> arr = new Arraz<Integer>(test);
544
+        Integer[] actual = arr.insertAtEndAndCopy(16);
545
+        System.out.println(Arrays.toString(actual));
546
+        for(int i = 0; i < expect.length; i ++){
547
+            Assert.assertEquals(expect[i], actual[i]);
548
+        }
549
+    }
550
+
551
+    @Test
552
+    public void test02insertAtEndAndCopy(){
553
+        String[] test = {"a", "b", "c"};
554
+        String[] expect = {"a", "b", "c", "d"};
555
+        Arraz<String> arr = new Arraz<String>(test);
556
+        String[] actual = arr.insertAtEndAndCopy("d");
557
+        for(int i = 0; i < expect.length; i ++){
558
+            Assert.assertEquals(expect[i], actual[i]);
559
+        }
560
+    }
561
+
562
+//     * separate even and odd numbers of an given array of integers. Put all even numbers first, and then odd numbers sortArrayIntoEvensThenOdds
563
+    @Test
564
+    public void test01sortArrayIntoEvensThenOdds(){
565
+        Integer[] test = {0, 1, 2, 3, 4, 5, 6};
566
+        Integer[] expect = {0, 2, 4, 6, 1, 3, 5};
567
+        Arraz<Integer> arr = new Arraz<Integer>(test);
568
+        Integer[] actual = arr.sortArrayIntoEvensThenOdds();
569
+    }
570
+
571
+    @Test
572
+    public void test02sortArrayIntoEvensThenOdds(){
573
+        Integer[] test = {0, -1, 2, 3, 4, -5, -6};
574
+        Integer[] expect = {0, 2, 4, -6, -1, 3, -5};
575
+        Arraz<Integer> arr = new Arraz<Integer>(test);
576
+        Integer[] actual = arr.sortArrayIntoEvensThenOdds();
577
+        System.out.println(Arrays.toString(actual));
578
+    }
5 579
 }