Selaa lähdekoodia

Part1Finished

NiraParikh 6 vuotta sitten
vanhempi
commit
3519f7ca82

+ 1
- 0
.idea/.name Näytä tiedosto

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

+ 16
- 0
.idea/compiler.xml Näytä tiedosto

@@ -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 Näytä tiedosto

@@ -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 Näytä tiedosto

@@ -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 Näytä tiedosto

@@ -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 Näytä tiedosto

@@ -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 Näytä tiedosto

@@ -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>

+ 524
- 0
.idea/workspace.xml Näytä tiedosto

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

+ 16
- 0
generics.iml Näytä tiedosto

@@ -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>

BIN
src/main/.DS_Store Näytä tiedosto


+ 100
- 0
src/main/java/MyArrayList.java Näytä tiedosto

@@ -0,0 +1,100 @@
1
+import java.util.Arrays;
2
+
3
+public class MyArrayList <E> {
4
+
5
+    Object[] arr;
6
+
7
+    public MyArrayList() {
8
+        arr = new Object[0];
9
+    }
10
+
11
+    public void setArr(Object[] arr) {
12
+        this.arr = arr;
13
+    }
14
+
15
+    public Object[] getArr() {
16
+        return arr;
17
+    }
18
+
19
+    public MyArrayList(int size) {
20
+        arr = new Object[size];
21
+    }
22
+
23
+    public int size() {
24
+        return arr.length;
25
+    }
26
+
27
+    public boolean add(E element) {
28
+        Object[] tem = Arrays.copyOf(arr, arr.length + 1);
29
+        tem[tem.length - 1] = element;
30
+        arr = tem;
31
+        return true;
32
+    }
33
+
34
+    public void add(int i, E element) {
35
+        Object[] arr1 = Arrays.copyOfRange(arr, 0, i);
36
+        Object[] arr2 = Arrays.copyOfRange(arr, i, arr.length);
37
+        arr = arr1;
38
+        add(element);
39
+        arr = merge(arr, arr2);
40
+    }
41
+
42
+    public Object get(int index) {
43
+
44
+        return arr[index];
45
+    }
46
+
47
+    public void remove(int i) {
48
+        Object[] arr1 = Arrays.copyOfRange(arr, 0, i);
49
+        Object[] arr2 = Arrays.copyOfRange(arr, i + 1, arr.length);
50
+        arr = merge(arr1, arr2);
51
+    }
52
+
53
+    private Object[] merge(Object[] arr1, Object[] arr2) {
54
+        Object[] arrMerge = new Object[arr1.length + arr2.length];
55
+        int counter = 0;
56
+        for (Object el : arr1) {
57
+            arrMerge[counter] = el;
58
+            counter++;
59
+        }
60
+        for (Object el : arr2) {
61
+            arrMerge[counter] = el;
62
+            counter++;
63
+        }
64
+        return arrMerge;
65
+    }
66
+
67
+    public void set(int index, Object obj) {
68
+        arr[index] = obj;
69
+    }
70
+
71
+    public void clear() {
72
+        arr = new Object[0];
73
+    }
74
+
75
+    public boolean isEmpty() {
76
+        if (arr.length == 0) {
77
+            return true;
78
+        }
79
+        return false;
80
+    }
81
+
82
+    public boolean contains(Object o) {
83
+        for (Object el : arr) {
84
+            if (el.equals(0)) {
85
+                return true;
86
+            }
87
+        }
88
+        return false;
89
+    }
90
+
91
+    public int indexOf(Object o) {
92
+        for (int i = 0; i < arr.length; i++) {
93
+            if (arr[i].equals(0)) {
94
+            }
95
+            return i;
96
+        }
97
+        return -1;
98
+    }
99
+
100
+}

+ 19
- 0
src/test/java/ListTest.java Näytä tiedosto

@@ -0,0 +1,19 @@
1
+public class ListTest {
2
+
3
+    public static void main(String[] args) {
4
+        MyArrayList list = new MyArrayList();
5
+
6
+        list.add("a");
7
+        list.add("b");
8
+        list.add("c");
9
+        list.add("d");
10
+        list.add(1);
11
+
12
+        list.remove(1);
13
+
14
+        for(int i =0; i < list.size(); i++){
15
+            System.out.println(list.get(i));
16
+        }
17
+
18
+    }
19
+}

+ 189
- 0
src/test/java/MyArrayListTest.java Näytä tiedosto

@@ -0,0 +1,189 @@
1
+import org.junit.Assert;
2
+import org.junit.Test;
3
+
4
+import javax.swing.plaf.metal.OceanTheme;
5
+import java.util.ArrayList;
6
+
7
+public class MyArrayListTest{
8
+
9
+    ArrayList list = new ArrayList();
10
+
11
+    @Test
12
+    public void addTestInt(){
13
+        list.add(5);
14
+        int expected = 1;
15
+        int actual = list.size();
16
+        Assert.assertEquals(expected,actual);
17
+    }
18
+
19
+    @Test
20
+    public void getTestInt(){
21
+
22
+        list.add(44);
23
+        int expected = 44;
24
+
25
+        Object actual = list.get(0);
26
+
27
+        Assert.assertEquals(expected,actual);
28
+    }
29
+    @Test
30
+    public void removeIntTest(){
31
+        list.add(9);
32
+        list.add(3);
33
+        list.add(5);
34
+        list.add(4);
35
+        list.remove(2);
36
+        int expected = 3;
37
+        int actual = list.size();
38
+        Assert.assertEquals(expected,actual);
39
+
40
+    }
41
+
42
+    @Test
43
+    public void setIntTest(){
44
+        list.add(9);
45
+        list.add(3);
46
+        list.add(5);
47
+        list.add(4);
48
+        list.set(2,6);
49
+        Object expected = 6;
50
+        Object actual = list.get(2);
51
+        Assert.assertEquals(expected,actual);
52
+    }
53
+
54
+    @Test
55
+    public void clearIntTest(){
56
+        list.add(9);
57
+        list.add(3);
58
+        list.add(5);
59
+        list.add(4);
60
+        list.clear();
61
+        int expected = 0;
62
+        int actual = list.size();
63
+        Assert.assertEquals(expected,actual);
64
+    }
65
+
66
+    @Test
67
+    public void addTestString(){
68
+        list.add("Beautiful");
69
+        int expected = 1;
70
+        int actual = list.size();
71
+        Assert.assertEquals(expected,actual);
72
+    }
73
+
74
+    @Test
75
+    public void getTestString(){
76
+        list.add("Beautiful");
77
+        String expected = "Beautiful";
78
+        Object actual = list.get(0);
79
+        Assert.assertEquals(expected,actual);
80
+    }
81
+    @Test
82
+    public void removeStringTest(){
83
+        list.add("Today");
84
+        list.add("is");
85
+        list.add("Friday");
86
+        list.add("Party");
87
+        list.remove(3);
88
+        int expected = 3;
89
+        int actual = list.size();
90
+        Assert.assertEquals(expected,actual);
91
+    }
92
+
93
+    @Test
94
+    public void setStringTest(){
95
+        list.add("Today");
96
+        list.add("is");
97
+        list.add("Friday");
98
+        list.add("Party");
99
+        list.set(2, "hello");
100
+        Object expected = "hello";
101
+        Object actual = list.get(2);
102
+        Assert.assertEquals(expected,actual);
103
+    }
104
+
105
+    @Test
106
+    public void clearStringTest(){
107
+        list.add("Today");
108
+        list.add("is");
109
+        list.add("Friday");
110
+        list.add("Party");
111
+        list.clear();
112
+        int expected = 0;
113
+        int actual = list.size();
114
+        Assert.assertEquals(expected,actual);
115
+
116
+    }
117
+
118
+    @Test
119
+    public void emptyTrueTest(){
120
+//        boolean actual = list.isEmpty();
121
+        Assert.assertTrue(list.isEmpty());
122
+    }
123
+
124
+    @Test
125
+    public void containsTrueTest(){
126
+        list.add("Today");
127
+        list.add("is");
128
+        list.add("Friday");
129
+        list.add("Party");
130
+        boolean actual = list.contains("is");
131
+        Assert.assertTrue(actual);
132
+
133
+    }
134
+
135
+    @Test
136
+    public void emptyFalseTest(){
137
+        list.add("Today");
138
+        list.add("is");
139
+        list.add("Friday");
140
+        list.add("Party");
141
+        //boolean actual = list.isEmpty();
142
+        Assert.assertFalse(list.isEmpty());
143
+    }
144
+
145
+    @Test
146
+    public void containsFalseTest(){
147
+        list.add("Today");
148
+        list.add("is");
149
+        list.add("Friday");
150
+        list.add("Party");
151
+        boolean actual = list.contains("Sleep");
152
+        Assert.assertFalse(actual);
153
+
154
+    }
155
+    @Test
156
+    public void indexOfTest(){
157
+        list.add("Today");
158
+        list.add("is");
159
+        list.add("Friday");
160
+        list.add("Party");
161
+        int expected = 2;
162
+        int actual = list.indexOf("Friday");
163
+        Assert.assertEquals(expected,actual);
164
+    }
165
+
166
+    @Test
167
+    public void indexOfNoTest(){
168
+        list.add("Today");
169
+        list.add("is");
170
+        list.add("Friday");
171
+        list.add("Party");
172
+        int expected = -1;
173
+        int actual = list.indexOf("help");
174
+        Assert.assertEquals(expected,actual);
175
+
176
+    }
177
+    @Test
178
+    public void addAtIndex(){
179
+        list.add("Today");
180
+        list.add("is");
181
+        list.add("Friday");
182
+        list.add("Party");
183
+        list.add("Let's go");
184
+        String expected = "Let's go";
185
+        Object actual = list.get(4);
186
+        System.out.println(list.get(4));
187
+        Assert.assertEquals(expected,actual);
188
+    }
189
+}