#25 Completed Lab

Open
DeJonJohnson wants to merge 1 commits from DeJonJohnson/CR-MicroLabs-Generics-MyArrayList:master into master

+ 1
- 0
.idea/.name View File

@@ -0,0 +1 @@
1
+generics

+ 16
- 0
.idea/compiler.xml View File

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="CompilerConfiguration">
4
+    <annotationProcessing>
5
+      <profile name="Maven default annotation processors profile" enabled="true">
6
+        <sourceOutputDir name="target/generated-sources/annotations" />
7
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
8
+        <outputRelativeToContentRoot value="true" />
9
+        <module name="generics" />
10
+      </profile>
11
+    </annotationProcessing>
12
+    <bytecodeTargetLevel>
13
+      <module name="generics" target="1.7" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 13
- 0
.idea/libraries/Maven__junit_junit_4_12.xml View File

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: junit:junit:4.12">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 13
- 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml View File

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 13
- 0
.idea/misc.xml View File

@@ -0,0 +1,13 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="MavenProjectsManager">
4
+    <option name="originalFiles">
5
+      <list>
6
+        <option value="$PROJECT_DIR$/pom.xml" />
7
+      </list>
8
+    </option>
9
+  </component>
10
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
11
+    <output url="file://$PROJECT_DIR$/classes" />
12
+  </component>
13
+</project>

+ 8
- 0
.idea/modules.xml View File

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/generics.iml" filepath="$PROJECT_DIR$/generics.iml" />
6
+    </modules>
7
+  </component>
8
+</project>

+ 6
- 0
.idea/vcs.xml View File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+  </component>
6
+</project>

+ 491
- 0
.idea/workspace.xml View File

@@ -0,0 +1,491 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="5ab99e19-790e-4c52-9505-c2f5fab711d0" name="Default Changelist" comment="">
5
+      <change afterPath="$PROJECT_DIR$/src/main/java/MyArrayList.java" afterDir="false" />
6
+      <change afterPath="$PROJECT_DIR$/src/main/java/MyMap.java" afterDir="false" />
7
+      <change afterPath="$PROJECT_DIR$/src/main/java/MySet.java" afterDir="false" />
8
+      <change afterPath="$PROJECT_DIR$/src/test/java/MyMapTest.java" afterDir="false" />
9
+      <change afterPath="$PROJECT_DIR$/src/test/java/MySetTest.java" afterDir="false" />
10
+      <change afterPath="$PROJECT_DIR$/src/test/java/TestMyArrayList.java" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
12
+    </list>
13
+    <ignored path="$PROJECT_DIR$/target/" />
14
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
15
+    <option name="SHOW_DIALOG" value="false" />
16
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
17
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
18
+    <option name="LAST_RESOLUTION" value="IGNORE" />
19
+  </component>
20
+  <component name="FUSProjectUsageTrigger">
21
+    <session id="75134646">
22
+      <usages-collector id="statistics.lifecycle.project">
23
+        <counts>
24
+          <entry key="project.closed" value="2" />
25
+          <entry key="project.open.time.0" value="1" />
26
+          <entry key="project.open.time.3" value="2" />
27
+          <entry key="project.opened" value="3" />
28
+        </counts>
29
+      </usages-collector>
30
+      <usages-collector id="statistics.file.extensions.open">
31
+        <counts>
32
+          <entry key="deleteme" value="1" />
33
+          <entry key="java" value="30" />
34
+          <entry key="md" value="1" />
35
+          <entry key="xml" value="1" />
36
+        </counts>
37
+      </usages-collector>
38
+      <usages-collector id="statistics.file.types.open">
39
+        <counts>
40
+          <entry key="JAVA" value="30" />
41
+          <entry key="Markdown" value="1" />
42
+          <entry key="PLAIN_TEXT" value="1" />
43
+          <entry key="XML" value="1" />
44
+        </counts>
45
+      </usages-collector>
46
+      <usages-collector id="statistics.file.extensions.edit">
47
+        <counts>
48
+          <entry key="java" value="6852" />
49
+        </counts>
50
+      </usages-collector>
51
+      <usages-collector id="statistics.file.types.edit">
52
+        <counts>
53
+          <entry key="JAVA" value="6852" />
54
+        </counts>
55
+      </usages-collector>
56
+    </session>
57
+  </component>
58
+  <component name="FileEditorManager">
59
+    <leaf>
60
+      <file pinned="false" current-in-tab="true">
61
+        <entry file="file://$PROJECT_DIR$/src/main/java/MyMap.java">
62
+          <provider selected="true" editor-type-id="text-editor">
63
+            <state relative-caret-position="692">
64
+              <caret line="69" column="24" lean-forward="true" selection-start-line="69" selection-start-column="24" selection-end-line="69" selection-end-column="24" />
65
+              <folding>
66
+                <element signature="e#321#322#0" expanded="true" />
67
+                <element signature="e#348#349#0" expanded="true" />
68
+              </folding>
69
+            </state>
70
+          </provider>
71
+        </entry>
72
+      </file>
73
+      <file pinned="false" current-in-tab="false">
74
+        <entry file="file://$PROJECT_DIR$/src/test/java/MyMapTest.java">
75
+          <provider selected="true" editor-type-id="text-editor">
76
+            <state relative-caret-position="1005">
77
+              <caret line="67" column="4" selection-start-line="67" selection-start-column="4" selection-end-line="67" selection-end-column="4" />
78
+              <folding>
79
+                <element signature="imports" expanded="true" />
80
+              </folding>
81
+            </state>
82
+          </provider>
83
+        </entry>
84
+      </file>
85
+    </leaf>
86
+  </component>
87
+  <component name="FileTemplateManagerImpl">
88
+    <option name="RECENT_TEMPLATES">
89
+      <list>
90
+        <option value="JUnit4 Test Class" />
91
+        <option value="Class" />
92
+      </list>
93
+    </option>
94
+  </component>
95
+  <component name="Git.Settings">
96
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
97
+  </component>
98
+  <component name="IdeDocumentHistory">
99
+    <option name="CHANGED_PATHS">
100
+      <list>
101
+        <option value="$PROJECT_DIR$/pom.xml" />
102
+        <option value="$PROJECT_DIR$/src/test/java/TestMyArrayList.java" />
103
+        <option value="$PROJECT_DIR$/src/test/java/MySetTest.java" />
104
+        <option value="$PROJECT_DIR$/src/main/java/MyArrayList.java" />
105
+        <option value="$PROJECT_DIR$/src/main/java/MySet.java" />
106
+        <option value="$PROJECT_DIR$/src/main/java/MyMap.java" />
107
+        <option value="$PROJECT_DIR$/src/test/java/MyMapTest.java" />
108
+      </list>
109
+    </option>
110
+  </component>
111
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
112
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
113
+  <component name="JsGulpfileManager">
114
+    <detection-done>true</detection-done>
115
+    <sorting>DEFINITION_ORDER</sorting>
116
+  </component>
117
+  <component name="ProjectFrameBounds" fullScreen="true">
118
+    <option name="width" value="1440" />
119
+    <option name="height" value="900" />
120
+  </component>
121
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
122
+  <component name="ProjectView">
123
+    <navigator proportions="" version="1">
124
+      <foldersAlwaysOnTop value="true" />
125
+    </navigator>
126
+    <panes>
127
+      <pane id="Scope" />
128
+      <pane id="ProjectPane">
129
+        <subPane>
130
+          <expand>
131
+            <path>
132
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
133
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
134
+            </path>
135
+            <path>
136
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
137
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
138
+              <item name="src" type="462c0819:PsiDirectoryNode" />
139
+            </path>
140
+            <path>
141
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
142
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
143
+              <item name="src" type="462c0819:PsiDirectoryNode" />
144
+              <item name="main" type="462c0819:PsiDirectoryNode" />
145
+            </path>
146
+            <path>
147
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
148
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
149
+              <item name="src" type="462c0819:PsiDirectoryNode" />
150
+              <item name="main" type="462c0819:PsiDirectoryNode" />
151
+              <item name="java" type="462c0819:PsiDirectoryNode" />
152
+            </path>
153
+            <path>
154
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
155
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
156
+              <item name="src" type="462c0819:PsiDirectoryNode" />
157
+              <item name="test" type="462c0819:PsiDirectoryNode" />
158
+            </path>
159
+            <path>
160
+              <item name="generics" type="b2602c69:ProjectViewProjectNode" />
161
+              <item name="CR-MicroLabs-Generics-MyArrayList" type="462c0819:PsiDirectoryNode" />
162
+              <item name="src" type="462c0819:PsiDirectoryNode" />
163
+              <item name="test" type="462c0819:PsiDirectoryNode" />
164
+              <item name="java" type="462c0819:PsiDirectoryNode" />
165
+            </path>
166
+          </expand>
167
+          <select />
168
+        </subPane>
169
+      </pane>
170
+      <pane id="PackagesPane" />
171
+    </panes>
172
+  </component>
173
+  <component name="PropertiesComponent">
174
+    <property name="WebServerToolWindowFactoryState" value="false" />
175
+    <property name="aspect.path.notification.shown" value="true" />
176
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1542762209680" />
177
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
178
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit4" value="" />
179
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
180
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
181
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
182
+  </component>
183
+  <component name="RecentsManager">
184
+    <key name="CreateTestDialog.RecentsKey">
185
+      <recent name="" />
186
+    </key>
187
+    <key name="CreateTestDialog.Recents.Supers">
188
+      <recent name="" />
189
+    </key>
190
+  </component>
191
+  <component name="RunDashboard">
192
+    <option name="ruleStates">
193
+      <list>
194
+        <RuleState>
195
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
196
+        </RuleState>
197
+        <RuleState>
198
+          <option name="name" value="StatusDashboardGroupingRule" />
199
+        </RuleState>
200
+      </list>
201
+    </option>
202
+  </component>
203
+  <component name="RunManager" selected="JUnit.MyMapTest">
204
+    <configuration name="MyMapTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
205
+      <module name="generics" />
206
+      <option name="PACKAGE_NAME" value="" />
207
+      <option name="MAIN_CLASS_NAME" value="MyMapTest" />
208
+      <method v="2">
209
+        <option name="Make" enabled="true" />
210
+      </method>
211
+    </configuration>
212
+    <configuration name="MyMapTest.clearTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
213
+      <module name="generics" />
214
+      <option name="PACKAGE_NAME" value="" />
215
+      <option name="MAIN_CLASS_NAME" value="MyMapTest" />
216
+      <option name="METHOD_NAME" value="clearTest" />
217
+      <option name="TEST_OBJECT" value="method" />
218
+      <method v="2">
219
+        <option name="Make" enabled="true" />
220
+      </method>
221
+    </configuration>
222
+    <configuration name="MySetTest.containsTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
223
+      <module name="generics" />
224
+      <option name="PACKAGE_NAME" value="" />
225
+      <option name="MAIN_CLASS_NAME" value="MySetTest" />
226
+      <option name="METHOD_NAME" value="containsTest" />
227
+      <option name="TEST_OBJECT" value="method" />
228
+      <method v="2">
229
+        <option name="Make" enabled="true" />
230
+      </method>
231
+    </configuration>
232
+    <configuration name="MySetTest.isEmptyTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
233
+      <module name="generics" />
234
+      <option name="PACKAGE_NAME" value="" />
235
+      <option name="MAIN_CLASS_NAME" value="MySetTest" />
236
+      <option name="METHOD_NAME" value="isEmptyTest" />
237
+      <option name="TEST_OBJECT" value="method" />
238
+      <method v="2">
239
+        <option name="Make" enabled="true" />
240
+      </method>
241
+    </configuration>
242
+    <configuration name="MySetTest.removeTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
243
+      <module name="generics" />
244
+      <option name="PACKAGE_NAME" value="" />
245
+      <option name="MAIN_CLASS_NAME" value="MySetTest" />
246
+      <option name="METHOD_NAME" value="removeTest" />
247
+      <option name="TEST_OBJECT" value="method" />
248
+      <method v="2">
249
+        <option name="Make" enabled="true" />
250
+      </method>
251
+    </configuration>
252
+    <list>
253
+      <item itemvalue="JUnit.MySetTest.removeTest" />
254
+      <item itemvalue="JUnit.MySetTest.isEmptyTest" />
255
+      <item itemvalue="JUnit.MySetTest.containsTest" />
256
+      <item itemvalue="JUnit.MyMapTest.clearTest" />
257
+      <item itemvalue="JUnit.MyMapTest" />
258
+    </list>
259
+    <recent_temporary>
260
+      <list>
261
+        <item itemvalue="JUnit.MyMapTest" />
262
+        <item itemvalue="JUnit.MyMapTest.clearTest" />
263
+        <item itemvalue="JUnit.MySetTest.containsTest" />
264
+        <item itemvalue="JUnit.MySetTest.isEmptyTest" />
265
+        <item itemvalue="JUnit.MySetTest.removeTest" />
266
+      </list>
267
+    </recent_temporary>
268
+  </component>
269
+  <component name="SvnConfiguration">
270
+    <configuration />
271
+  </component>
272
+  <component name="TaskManager">
273
+    <task active="true" id="Default" summary="Default task">
274
+      <changelist id="5ab99e19-790e-4c52-9505-c2f5fab711d0" name="Default Changelist" comment="" />
275
+      <created>1542236625990</created>
276
+      <option name="number" value="Default" />
277
+      <option name="presentableId" value="Default" />
278
+      <updated>1542236625990</updated>
279
+      <workItem from="1542236628663" duration="158000" />
280
+      <workItem from="1542236850909" duration="7000" />
281
+      <workItem from="1542657053424" duration="36852000" />
282
+    </task>
283
+    <servers />
284
+  </component>
285
+  <component name="TestHistory">
286
+    <history-entry file="MySetTest_removeTest - 2018.11.20 at 17h 33m 18s.xml">
287
+      <configuration name="MySetTest.removeTest" configurationId="JUnit" />
288
+    </history-entry>
289
+    <history-entry file="MySetTest_removeTest - 2018.11.20 at 17h 33m 31s.xml">
290
+      <configuration name="MySetTest.removeTest" configurationId="JUnit" />
291
+    </history-entry>
292
+    <history-entry file="MySetTest_removeTest - 2018.11.20 at 17h 33m 52s.xml">
293
+      <configuration name="MySetTest.removeTest" configurationId="JUnit" />
294
+    </history-entry>
295
+    <history-entry file="MySetTest_isEmptyTest - 2018.11.20 at 17h 44m 22s.xml">
296
+      <configuration name="MySetTest.isEmptyTest" configurationId="JUnit" />
297
+    </history-entry>
298
+    <history-entry file="MySetTest_isEmptyTest - 2018.11.20 at 17h 49m 05s.xml">
299
+      <configuration name="MySetTest.isEmptyTest" configurationId="JUnit" />
300
+    </history-entry>
301
+    <history-entry file="MySetTest_isEmptyTest - 2018.11.20 at 17h 49m 46s.xml">
302
+      <configuration name="MySetTest.isEmptyTest" configurationId="JUnit" />
303
+    </history-entry>
304
+    <history-entry file="MySetTest_isEmptyTest - 2018.11.20 at 17h 53m 12s.xml">
305
+      <configuration name="MySetTest.isEmptyTest" configurationId="JUnit" />
306
+    </history-entry>
307
+    <history-entry file="MySetTest_containsTest - 2018.11.20 at 18h 00m 50s.xml">
308
+      <configuration name="MySetTest.containsTest" configurationId="JUnit" />
309
+    </history-entry>
310
+    <history-entry file="MyMapTest_clearTest - 2018.11.20 at 20h 00m 05s.xml">
311
+      <configuration name="MyMapTest.clearTest" configurationId="JUnit" />
312
+    </history-entry>
313
+    <history-entry file="MyMapTest - 2018.11.20 at 20h 03m 23s.xml">
314
+      <configuration name="MyMapTest" configurationId="JUnit" />
315
+    </history-entry>
316
+  </component>
317
+  <component name="TimeTrackingManager">
318
+    <option name="totallyTimeSpent" value="37017000" />
319
+  </component>
320
+  <component name="ToolWindowManager">
321
+    <frame x="0" y="0" width="1440" height="900" extended-state="0" />
322
+    <editor active="true" />
323
+    <layout>
324
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25894135" />
325
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
326
+      <window_info id="Image Layers" order="2" />
327
+      <window_info id="Designer" order="3" />
328
+      <window_info id="UI Designer" order="4" />
329
+      <window_info id="Capture Tool" order="5" />
330
+      <window_info id="Favorites" order="6" side_tool="true" />
331
+      <window_info anchor="bottom" id="Messages" />
332
+      <window_info anchor="bottom" id="Message" order="0" />
333
+      <window_info anchor="bottom" id="Find" order="1" />
334
+      <window_info anchor="bottom" id="Run" order="2" weight="0.486747" />
335
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
336
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
337
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
338
+      <window_info anchor="bottom" id="TODO" order="6" />
339
+      <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
340
+      <window_info anchor="bottom" id="Terminal" order="8" />
341
+      <window_info anchor="bottom" id="Event Log" order="9" side_tool="true" />
342
+      <window_info anchor="bottom" id="Version Control" order="10" show_stripe_button="false" />
343
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
344
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
345
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
346
+      <window_info anchor="right" id="Palette" order="3" />
347
+      <window_info anchor="right" id="Capture Analysis" order="4" />
348
+      <window_info anchor="right" id="Theme Preview" order="5" />
349
+      <window_info anchor="right" id="Palette&#9;" order="6" />
350
+      <window_info anchor="right" id="Database" order="7" />
351
+      <window_info anchor="right" id="Maven Projects" order="8" />
352
+    </layout>
353
+    <layout-to-restore>
354
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25894135" />
355
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
356
+      <window_info id="Image Layers" order="2" />
357
+      <window_info id="Designer" order="3" />
358
+      <window_info id="UI Designer" order="4" />
359
+      <window_info id="Capture Tool" order="5" />
360
+      <window_info id="Favorites" order="6" side_tool="true" />
361
+      <window_info anchor="bottom" id="Messages" order="0" />
362
+      <window_info anchor="bottom" id="Message" order="1" />
363
+      <window_info anchor="bottom" id="Find" order="2" />
364
+      <window_info anchor="bottom" id="Run" order="3" weight="0.486747" />
365
+      <window_info anchor="bottom" id="Debug" order="4" weight="0.4" />
366
+      <window_info anchor="bottom" id="Cvs" order="5" weight="0.25" />
367
+      <window_info anchor="bottom" id="Inspection" order="6" weight="0.4" />
368
+      <window_info anchor="bottom" id="TODO" order="7" />
369
+      <window_info anchor="bottom" id="Database Changes" order="8" show_stripe_button="false" />
370
+      <window_info anchor="bottom" id="Terminal" order="9" />
371
+      <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
372
+      <window_info anchor="bottom" id="Version Control" order="11" show_stripe_button="false" />
373
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
374
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
375
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
376
+      <window_info anchor="right" id="Palette" order="3" />
377
+      <window_info anchor="right" id="Capture Analysis" order="4" />
378
+      <window_info anchor="right" id="Theme Preview" order="5" />
379
+      <window_info anchor="right" id="Palette&#9;" order="6" />
380
+      <window_info anchor="right" id="Database" order="7" />
381
+      <window_info anchor="right" id="Maven Projects" order="8" />
382
+    </layout-to-restore>
383
+  </component>
384
+  <component name="TypeScriptGeneratedFilesManager">
385
+    <option name="version" value="1" />
386
+  </component>
387
+  <component name="VcsContentAnnotationSettings">
388
+    <option name="myLimit" value="2678400000" />
389
+  </component>
390
+  <component name="editorHistoryManager">
391
+    <entry file="file://$PROJECT_DIR$/src/main/java/.deleteme">
392
+      <provider selected="true" editor-type-id="text-editor" />
393
+    </entry>
394
+    <entry file="file://$PROJECT_DIR$/pom.xml">
395
+      <provider selected="true" editor-type-id="text-editor">
396
+        <state relative-caret-position="345">
397
+          <caret line="23" column="12" selection-start-line="23" selection-start-column="12" selection-end-line="23" selection-end-column="12" />
398
+        </state>
399
+      </provider>
400
+    </entry>
401
+    <entry file="file://$PROJECT_DIR$/README.md">
402
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
403
+        <state split_layout="SPLIT">
404
+          <first_editor />
405
+          <second_editor />
406
+        </state>
407
+      </provider>
408
+    </entry>
409
+    <entry file="file://$PROJECT_DIR$/src/test/java/MySetTest.java">
410
+      <provider selected="true" editor-type-id="text-editor">
411
+        <state relative-caret-position="214">
412
+          <caret line="98" selection-start-line="98" selection-end-line="98" />
413
+          <folding>
414
+            <element signature="imports" expanded="true" />
415
+            <element signature="e#469#478#0" expanded="true" />
416
+            <element signature="e#1387#1396#0" expanded="true" />
417
+            <element signature="e#1906#1915#0" expanded="true" />
418
+          </folding>
419
+        </state>
420
+      </provider>
421
+    </entry>
422
+    <entry file="file://$PROJECT_DIR$/src/test/java/TestMyArrayList.java">
423
+      <provider selected="true" editor-type-id="text-editor">
424
+        <state relative-caret-position="1507">
425
+          <caret line="126" lean-forward="true" selection-start-line="126" selection-end-line="126" />
426
+          <folding>
427
+            <element signature="imports" expanded="true" />
428
+          </folding>
429
+        </state>
430
+      </provider>
431
+    </entry>
432
+    <entry file="file://$PROJECT_DIR$/src/main/java/MyArrayList.java">
433
+      <provider selected="true" editor-type-id="text-editor">
434
+        <state relative-caret-position="-122">
435
+          <caret line="15" column="8" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="8" />
436
+          <folding>
437
+            <element signature="imports" expanded="true" />
438
+            <element signature="e#180#181#0" expanded="true" />
439
+            <element signature="e#224#225#0" expanded="true" />
440
+            <element signature="e#334#335#0" expanded="true" />
441
+            <element signature="e#364#365#0" expanded="true" />
442
+          </folding>
443
+        </state>
444
+      </provider>
445
+    </entry>
446
+    <entry file="file://$PROJECT_DIR$/src/main/java/MySet.java">
447
+      <provider selected="true" editor-type-id="text-editor">
448
+        <state relative-caret-position="67">
449
+          <caret line="21" column="32" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
450
+        </state>
451
+      </provider>
452
+    </entry>
453
+    <entry file="file://$PROJECT_DIR$/src/test/java/MyMapTest.java">
454
+      <provider selected="true" editor-type-id="text-editor">
455
+        <state relative-caret-position="1005">
456
+          <caret line="67" column="4" selection-start-line="67" selection-start-column="4" selection-end-line="67" selection-end-column="4" />
457
+          <folding>
458
+            <element signature="imports" expanded="true" />
459
+          </folding>
460
+        </state>
461
+      </provider>
462
+    </entry>
463
+    <entry file="file://$PROJECT_DIR$/src/main/java/MyMap.java">
464
+      <provider selected="true" editor-type-id="text-editor">
465
+        <state relative-caret-position="692">
466
+          <caret line="69" column="24" lean-forward="true" selection-start-line="69" selection-start-column="24" selection-end-line="69" selection-end-column="24" />
467
+          <folding>
468
+            <element signature="e#321#322#0" expanded="true" />
469
+            <element signature="e#348#349#0" expanded="true" />
470
+          </folding>
471
+        </state>
472
+      </provider>
473
+    </entry>
474
+  </component>
475
+  <component name="masterDetails">
476
+    <states>
477
+      <state key="ProjectJDKs.UI">
478
+        <settings>
479
+          <last-edited>1.8</last-edited>
480
+          <splitter-proportions>
481
+            <option name="proportions">
482
+              <list>
483
+                <option value="0.2" />
484
+              </list>
485
+            </option>
486
+          </splitter-proportions>
487
+        </settings>
488
+      </state>
489
+    </states>
490
+  </component>
491
+</project>

+ 16
- 0
generics.iml View File

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
4
+    <output url="file://$MODULE_DIR$/target/classes" />
5
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
6
+    <content url="file://$MODULE_DIR$">
7
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
9
+      <excludeFolder url="file://$MODULE_DIR$/target" />
10
+    </content>
11
+    <orderEntry type="inheritedJdk" />
12
+    <orderEntry type="sourceFolder" forTests="false" />
13
+    <orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
14
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
15
+  </component>
16
+</module>

+ 8
- 6
pom.xml View File

@@ -22,11 +22,13 @@
22 22
     <dependencies>
23 23
 
24 24
 
25
-        <dependency>
26
-            <groupId>junit</groupId>
27
-            <artifactId>junit</artifactId>
28
-            <version>RELEASE</version>
29
-        </dependency>
30
-    </dependencies>
25
+    <dependency>
26
+        <groupId>junit</groupId>
27
+        <artifactId>junit</artifactId>
28
+        <version>4.12</version>
29
+        <scope>test</scope>
30
+    </dependency>
31
+
32
+
31 33
 
32 34
 </project>

+ 81
- 0
src/main/java/MyArrayList.java View File

@@ -0,0 +1,81 @@
1
+import java.lang.reflect.Array;
2
+import java.util.Arrays;
3
+
4
+public class MyArrayList <T> {
5
+    //Fields:
6
+private Object[] myArray;
7
+
8
+// generic Constructors
9
+
10
+    public MyArrayList (){
11
+        this.myArray = new Object[0];
12
+    }
13
+
14
+    public MyArrayList (int x) {
15
+
16
+        this.myArray = new Object[x];
17
+    }
18
+
19
+    public Object[] getMyArray() {
20
+        return myArray;
21
+    }
22
+
23
+    // generic Methods
24
+    public void add(Object element){
25
+        this.myArray = Arrays.copyOf(myArray, myArray.length+1);
26
+        myArray[myArray.length -1] = element;
27
+    }
28
+
29
+    public boolean remove(Object element){
30
+        Object[] tempArray = new Object[myArray.length-1];
31
+        int counter =0;
32
+        for(int i =0; i<myArray.length; i++){
33
+            if(myArray[i] != element){
34
+                tempArray[counter] = myArray[i];
35
+                counter++;
36
+            }
37
+        }
38
+        myArray=tempArray;
39
+        return true;
40
+    }
41
+
42
+
43
+    public int size(){
44
+
45
+        return myArray.length;
46
+    }
47
+
48
+    public void set(int index, T element){
49
+
50
+         myArray[index] = element;
51
+
52
+    }
53
+
54
+    public T get(int x){
55
+        return (T) myArray[x];
56
+
57
+    }
58
+
59
+    public void clear(){
60
+      this.myArray = new Object[0];
61
+    }
62
+
63
+    public boolean isEmpty(){
64
+        if(this.myArray.length == 0 ) {
65
+            return true;
66
+        }else{
67
+            return false;
68
+        }
69
+    }
70
+
71
+
72
+    public Boolean contains(T x) {
73
+        for (int i = 0; i < myArray.length; i++) {
74
+            if (myArray[i] == x) {
75
+                return true;
76
+            }
77
+        }
78
+        return false;
79
+    }
80
+
81
+}

+ 77
- 0
src/main/java/MyMap.java View File

@@ -0,0 +1,77 @@
1
+import java.util.Map;
2
+
3
+public class MyMap <K,V> {
4
+
5
+    //Fields
6
+
7
+    private int size;
8
+    private MyArrayList<V> values;
9
+    private MySet<K> keys;
10
+
11
+    //Constructor
12
+    public MyMap(){
13
+        size =0;
14
+        values = new MyArrayList<>();
15
+        keys = new MySet<>();
16
+    }
17
+
18
+    //Methods
19
+
20
+    public int size() {
21
+        return size;
22
+    }
23
+
24
+    public void put(K key, V value) {
25
+        if(!keys.contains(key)){
26
+            keys.add(key);
27
+           values.add(value);
28
+           size = size +1;
29
+        } else
30
+            values.set(getKeyIndex(key), value);
31
+
32
+    }
33
+
34
+    public boolean containsKey(K key){
35
+        return keys.contains(key);
36
+
37
+    }
38
+
39
+    public boolean containsValue(V value){
40
+        return values.contains(value);
41
+
42
+    }
43
+
44
+    public V get(K key){
45
+        for(int i =0; i<size(); i++){
46
+            if(keys.get(i) == key)
47
+                return values.get(i);
48
+
49
+        }
50
+        return null;
51
+
52
+
53
+    }
54
+
55
+    public int getKeyIndex (K key){
56
+
57
+        for( int i =0; i<size(); i++){
58
+            if(keys.get(i) == key)
59
+                return i;
60
+
61
+        }
62
+        return -1;
63
+    }
64
+
65
+    public boolean isEmpty() {
66
+        return (size == 0);
67
+
68
+    }
69
+
70
+    public void clear(){
71
+        keys.clear();
72
+        values.clear();
73
+        size = 0;
74
+
75
+    }
76
+
77
+}

+ 57
- 0
src/main/java/MySet.java View File

@@ -0,0 +1,57 @@
1
+public class MySet <T> {
2
+//fields
3
+    MyArrayList <T> mySet = new MyArrayList();
4
+
5
+    //Constructor
6
+public MySet(){
7
+
8
+}
9
+
10
+    //methods
11
+
12
+    public boolean add(T x) {
13
+        if (!mySet.contains(x)){
14
+            mySet.add(x);
15
+            return true;
16
+        } else {
17
+            return false;
18
+        }
19
+    }
20
+
21
+    public T get(int Index){
22
+        return mySet.get(Index);
23
+
24
+    }
25
+
26
+    public int size(){
27
+
28
+    return mySet.size();
29
+    }
30
+    public void clear(){
31
+
32
+    mySet.clear();
33
+    }
34
+    public boolean remove(T element) {
35
+        if (mySet.contains(element)) {
36
+            mySet.remove(element);
37
+            return true;
38
+        } else {
39
+            return false;
40
+        }
41
+    }
42
+
43
+    public boolean isEmpty(){
44
+        if (mySet.size() == 0) {
45
+            return true;
46
+        } else {
47
+            return false;
48
+        }
49
+    }
50
+
51
+    public boolean contains(T t) {
52
+        if (mySet.contains(t)) {
53
+            return true;
54
+        } else
55
+            return false;
56
+    }
57
+}

+ 74
- 0
src/test/java/MyMapTest.java View File

@@ -0,0 +1,74 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+public class MyMapTest {
5
+    MyMap<Integer, Integer> testMap = new MyMap<>();
6
+    @Test
7
+
8
+    public void putTest() {
9
+        //Given
10
+        testMap.put(2, 4);
11
+
12
+        //When
13
+        int expected = 1;
14
+
15
+        //Then
16
+        Assert.assertEquals(expected, testMap.size());
17
+    }
18
+
19
+    @Test
20
+    public void sizeTest(){
21
+        //Given
22
+        testMap.put(3,3);
23
+        testMap.put(2,2);
24
+
25
+        //When
26
+
27
+        int expected = 2;
28
+
29
+        //Then
30
+        Assert.assertEquals(expected, testMap.size());
31
+
32
+    }
33
+    @Test
34
+    public void clearTest() {
35
+        // Given
36
+       testMap.put(1, 3);
37
+       testMap.clear();
38
+
39
+       //When
40
+       int expected = 0;
41
+      int actual = testMap.size();
42
+      // Then
43
+      Assert.assertEquals(expected, actual);
44
+      }
45
+    @Test
46
+public void IsEmptyTest() {
47
+      // When
48
+        testMap.put(1,3);
49
+      //Then
50
+    Assert.assertFalse(testMap.isEmpty());
51
+  }
52
+
53
+ @Test
54
+ public void ContainsKeyTest() {
55
+     // When
56
+      testMap.put(1, 3);
57
+      testMap.put(2,4);
58
+         // Then
59
+  Assert.assertTrue(testMap.containsKey(1));
60
+   }
61
+
62
+   @Test
63
+ public void ContainsValueTest() {
64
+    // When
65
+testMap.put(1, 3);
66
+      // : Then
67
+      Assert.assertTrue(testMap.containsValue(3));
68
+    }
69
+
70
+
71
+
72
+
73
+
74
+}

+ 104
- 0
src/test/java/MySetTest.java View File

@@ -0,0 +1,104 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+import static org.junit.Assert.*;
5
+
6
+public class MySetTest {
7
+
8
+
9
+    @Test
10
+    public void addTrueTest() {
11
+        //Given
12
+        MySet<Integer> TestSet = new MySet<Integer>();
13
+       TestSet.add(13);
14
+
15
+        //Then
16
+        boolean actual = TestSet.contains(13);
17
+
18
+        //When
19
+        Assert.assertTrue(actual);
20
+    }
21
+    @Test
22
+    public void addFalseTest() {
23
+        //Given
24
+        MySet<Integer> TestSet = new MySet<Integer>();
25
+        TestSet.add(13);
26
+
27
+        //Then
28
+        boolean actual = TestSet.add(13);
29
+
30
+        //When
31
+        Assert.assertFalse(actual);
32
+    }
33
+
34
+    @Test
35
+    public void sizeTest() {
36
+        //Given
37
+        MySet<Integer> TestSet = new MySet<Integer>();
38
+        TestSet.add(1);
39
+        TestSet.add(4);
40
+
41
+        //Then
42
+        int expected = 2;
43
+        int actual = TestSet.size();
44
+        //When
45
+        Assert.assertEquals(expected, actual);
46
+    }
47
+
48
+    @Test
49
+    public void clearTest() {
50
+        //Given
51
+        MySet<Integer> TestSet = new MySet<Integer>();
52
+        TestSet.add(3);
53
+        TestSet.add(4);
54
+        TestSet.add(5);
55
+        TestSet.clear();
56
+
57
+        //Then
58
+        int expected = 0;
59
+        int actual = TestSet.size();
60
+
61
+        //WHen
62
+        Assert.assertEquals(expected, actual);
63
+
64
+    }
65
+
66
+    @Test
67
+    public void removeTest() {
68
+        //Given
69
+        MySet<Integer> TestSet = new MySet<Integer>();
70
+        TestSet.add(3);
71
+        TestSet.add(4);
72
+        TestSet.remove(3);
73
+
74
+
75
+        //When
76
+        Assert.assertFalse(TestSet.contains(3));
77
+    }
78
+
79
+    @Test
80
+    public void isEmptyTest() {
81
+        //Given
82
+        MySet<Integer> TestSet = new MySet<Integer>();
83
+        TestSet.add(3);
84
+        TestSet.add(4);
85
+        TestSet.clear();
86
+
87
+        //Then
88
+        Assert.assertTrue(TestSet.isEmpty());
89
+
90
+
91
+    }
92
+
93
+    @Test
94
+    public void containsTest() {
95
+        //Given
96
+        MySet<Integer> TestSet = new MySet<Integer>();
97
+        TestSet.add(5);
98
+        TestSet.add(7);
99
+
100
+        //Then
101
+        Assert.assertTrue(TestSet.contains(7));
102
+
103
+    }
104
+}

+ 149
- 0
src/test/java/TestMyArrayList.java View File

@@ -0,0 +1,149 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+public class TestMyArrayList<T> {
5
+    MyArrayList myArrayList = new MyArrayList(3);
6
+
7
+    @Test
8
+    public void addTest() {
9
+        //Given
10
+        myArrayList.add(1);
11
+        myArrayList.add(4);
12
+        //Then
13
+        int expected = 5;
14
+        int actual = myArrayList.getMyArray().length;
15
+
16
+        //When
17
+        Assert.assertEquals(expected, actual);
18
+
19
+    }
20
+
21
+    @Test
22
+    public void removeTest() {
23
+        //Given
24
+        myArrayList.add(1);
25
+        myArrayList.remove(1);
26
+        //Then
27
+        int expected = 3;
28
+        int actual = myArrayList.getMyArray().length;
29
+
30
+        //When
31
+        Assert.assertEquals(expected, actual);
32
+
33
+    }
34
+
35
+    @Test
36
+    public void sizeTest() {
37
+        //Given
38
+        myArrayList.add(5);
39
+        //Then
40
+        int expected = 4;
41
+        int actual = myArrayList.size();
42
+
43
+        //When
44
+        Assert.assertEquals(expected, actual);
45
+
46
+    }
47
+
48
+    @Test
49
+    public void setTest(){
50
+        //Given
51
+        myArrayList.add(1);
52
+
53
+        //Then
54
+        myArrayList.set(3, 6);
55
+        Object expected = 6;
56
+        Object actual = myArrayList.getMyArray()[3];
57
+
58
+        //When
59
+        Assert.assertEquals(expected, actual);
60
+
61
+    }
62
+
63
+    @Test
64
+    public void clearTest(){
65
+        //Given
66
+        myArrayList.add(1);
67
+        myArrayList.clear();
68
+        //Then
69
+        Object expected = 0;
70
+        Object actual = myArrayList.size();
71
+
72
+        //When
73
+        Assert.assertEquals(expected, actual);
74
+
75
+    }
76
+
77
+    @Test
78
+    public void getTest(){
79
+        //Given
80
+        myArrayList.add(1);
81
+        myArrayList.add(6);
82
+        myArrayList.get(4);
83
+
84
+        //Then
85
+        Object expected = 6;
86
+        Object actual = myArrayList.get(4);
87
+
88
+
89
+        //When
90
+        Assert.assertEquals(expected, actual);
91
+
92
+    }
93
+
94
+    @Test
95
+    public void isEmptyTrueTest(){
96
+        //Given
97
+        myArrayList.add(1);
98
+        myArrayList.clear();
99
+
100
+        //Then
101
+        boolean actual = myArrayList.isEmpty();
102
+
103
+        //When
104
+        Assert.assertTrue(actual);
105
+
106
+    }
107
+    @Test
108
+    public void isEmptyFalseTest(){
109
+        //Given
110
+        myArrayList.add(1);
111
+
112
+
113
+        //Then
114
+        boolean actual = myArrayList.isEmpty();
115
+
116
+        //When
117
+        Assert.assertFalse(actual);
118
+
119
+    }
120
+
121
+    @Test
122
+    public void containsTrueTest(){
123
+        //Given
124
+        myArrayList.add(1);
125
+        myArrayList.add(12);
126
+        myArrayList.add(8);
127
+
128
+        //Then
129
+        Boolean actual = myArrayList.contains(12);
130
+
131
+        //When
132
+        Assert.assertTrue(actual);
133
+
134
+    }
135
+    @Test
136
+    public void containsFalseTest(){
137
+        //Given
138
+        myArrayList.add(1);
139
+        myArrayList.add(7);
140
+        myArrayList.add(3);
141
+
142
+        //Then
143
+        Boolean actual = myArrayList.contains(12);
144
+
145
+        //When
146
+        Assert.assertFalse(actual);
147
+
148
+    }
149
+}