Skip to content

Commit 4550485

Browse files
committed
Add my first code
except BinaryTreeNode
1 parent d4a25d6 commit 4550485

File tree

11 files changed

+804
-0
lines changed

11 files changed

+804
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.github.HarryHook.coding2017.basic;
2+
3+
import org.junit.Before;
4+
import com.github.HarryHook.coding2017.basic.MyArrayList;
5+
6+
7+
public class ArrayListTest extends ListTest {
8+
9+
@Before
10+
public void setUpArrayList() {
11+
aList = new MyArrayList();
12+
}
13+
14+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.HarryHook.coding2017.basic;
2+
3+
public interface Iterator
4+
{
5+
public boolean hasNext();
6+
public Object next();
7+
}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package com.github.HarryHook.coding2017.basic;
2+
3+
import static org.junit.Assert.*;
4+
import org.junit.Before;
5+
import org.junit.Test;
6+
import com.github.HarryHook.coding2017.basic.MyLinkedList;
7+
8+
public class LinkedListTest extends ListTest{
9+
10+
private MyLinkedList aLinkedList;
11+
12+
@Before
13+
public void setUpLinkedList() {
14+
aList = new MyLinkedList();
15+
aLinkedList = new MyLinkedList();
16+
}
17+
18+
@Test
19+
public void testAddFirst() {
20+
aLinkedList.addFirst(5);
21+
assertEquals(5, aLinkedList.get(0));
22+
23+
aLinkedList.addFirst(6);
24+
assertEquals(6, aLinkedList.get(0));
25+
assertEquals(5, aLinkedList.get(1));
26+
assertEquals(2, aLinkedList.size());
27+
}
28+
29+
@Test
30+
public void testAddLast() {
31+
aLinkedList.addLast("hello");
32+
assertEquals("hello", aLinkedList.get(0));
33+
34+
aLinkedList.addLast("world");
35+
assertEquals("hello", aLinkedList.get(0));
36+
assertEquals("world", aLinkedList.get(1));
37+
assertEquals(2, aLinkedList.size());
38+
}
39+
40+
@Test
41+
public void testRemoveFirst() {
42+
aLinkedList.addLast("hello");
43+
aLinkedList.addLast("world");
44+
45+
aLinkedList.removeFirst();
46+
assertEquals("world", aLinkedList.get(0));
47+
assertEquals(1, aLinkedList.size());
48+
49+
aLinkedList.removeFirst();
50+
assertEquals(0, aLinkedList.size());
51+
}
52+
53+
@Test
54+
public void testRemoveLast() {
55+
aLinkedList.addFirst("world");
56+
aLinkedList.addFirst("hello");
57+
58+
aLinkedList.removeLast();
59+
assertEquals("hello", aLinkedList.get(0));
60+
assertEquals(1, aLinkedList.size());
61+
62+
aLinkedList.removeLast();
63+
assertEquals(0, aLinkedList.size());
64+
}
65+
66+
@Test
67+
public void testLinkedListFunctional() {
68+
for (int i=1; i<4; i++) {
69+
aLinkedList.add(i); // [1,2,3]
70+
}
71+
aLinkedList.remove(1); // [1,3]
72+
73+
aLinkedList.add(1, 0); // [1,0,3]
74+
for (int i=4; i<6; i++) {
75+
aLinkedList.addFirst(i); // [5, 4, 1, 0, 3]
76+
}
77+
assertEquals(5, aLinkedList.size());
78+
assertEquals(5, aLinkedList.get(0));
79+
assertEquals(1, aLinkedList.get(2));
80+
assertEquals(4, aLinkedList.get(3));
81+
82+
aLinkedList.remove(3); // [5, 4, 1, 3]
83+
assertEquals(3, aLinkedList.get(aLinkedList.size()-1));
84+
aLinkedList.removeLast(); // [5, 4, 1]
85+
assertEquals(1, aLinkedList.get(aLinkedList.size()-1));
86+
aLinkedList.removeFirst(); // [4,1]
87+
88+
assertEquals(4, aLinkedList.get(0));
89+
assertEquals(1, aLinkedList.get(1));
90+
assertEquals(2, aLinkedList.size());
91+
}
92+
93+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.github.HarryHook.coding2017.basic;
2+
3+
4+
public interface List
5+
{
6+
public void add(Object o);
7+
public void add(int index, Object o);
8+
public Object get(int index);
9+
public Object remove(int index);
10+
public int size();
11+
12+
public Iterator iterator();
13+
}
14+
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
package com.github.HarryHook.coding2017.basic;
2+
3+
import static org.junit.Assert.*;
4+
5+
import org.junit.Rule;
6+
import org.junit.Test;
7+
import org.junit.rules.ExpectedException;
8+
import com.github.HarryHook.coding2017.basic.Iterator;
9+
import com.github.HarryHook.coding2017.basic.List;
10+
11+
public class ListTest {
12+
13+
protected static List aList;
14+
15+
@Test
16+
public void testFunctional() {
17+
aList.add(1);
18+
aList.add(2);
19+
assertEquals(1, aList.get(0));
20+
assertEquals(2, aList.get(1));
21+
22+
aList.add(3);
23+
aList.add(0, 5);
24+
aList.add(2, 11);
25+
assertEquals(5, aList.get(0));
26+
assertEquals(11, aList.get(2));
27+
28+
aList.add("hi");
29+
assertEquals("hi", aList.get(5));
30+
assertEquals(6, aList.size());
31+
32+
aList.remove(1);
33+
assertEquals(11, aList.get(1));
34+
assertEquals(2, aList.get(2));
35+
36+
assertEquals(5, aList.size());
37+
}
38+
39+
@Test
40+
public void testAdd() {
41+
for (int i=0; i<100; i++)
42+
aList.add(i);
43+
assertEquals(0, aList.get(0));
44+
assertEquals(99, aList.get(99));
45+
assertEquals(44, aList.get(44));
46+
}
47+
48+
@Test
49+
public void testRemove() {
50+
aList.add(1);
51+
aList.add(2);
52+
aList.add(3);
53+
int u = (Integer)aList.remove(2);
54+
assertEquals(3, u);
55+
assertEquals(2, aList.size());
56+
57+
aList.add(1, 5);
58+
u = (Integer)aList.remove(0);
59+
assertEquals(1, u);
60+
assertEquals(5, aList.get(0));
61+
assertEquals(2, aList.get(1));
62+
assertEquals(2, aList.size());
63+
64+
aList.remove(0);
65+
aList.remove(0);
66+
assertEquals(0, aList.size());
67+
68+
69+
}
70+
71+
@Test
72+
public void testSize() {
73+
for (int i=0; i<10; i++)
74+
aList.add(i*2);
75+
assertEquals(10, aList.size());
76+
}
77+
78+
@Rule
79+
public ExpectedException expectedEx = ExpectedException.none();
80+
81+
@Test
82+
public void testException() {
83+
expectedEx.expect(Exception.class);
84+
aList.remove(1);
85+
aList.add(3);
86+
aList.add(2, 5);
87+
expectedEx.expect(Exception.class);
88+
}
89+
90+
@Test
91+
//protected static List aList;
92+
93+
public void testIterator() {
94+
Iterator it = aList.iterator();
95+
assertEquals(false, it.hasNext());
96+
97+
aList.add(1);
98+
aList.add(2);
99+
aList.add(3);
100+
101+
it = aList.iterator();
102+
assertEquals(true, it.hasNext());
103+
assertEquals(1, it.next());
104+
assertEquals(2, it.next());
105+
assertEquals(3, it.next());
106+
assertEquals(false, it.hasNext());
107+
108+
aList.remove(1);
109+
it = aList.iterator();
110+
assertEquals(true, it.hasNext());
111+
assertEquals(1, it.next());
112+
assertEquals(3, it.next());
113+
assertEquals(false, it.hasNext());
114+
}
115+
116+
117+
118+
}

0 commit comments

Comments
 (0)