Skip to content

Commit 1c6e6ae

Browse files
committed
LinkedNode and its tests initialized
1 parent 48d0b6e commit 1c6e6ae

File tree

2 files changed

+161
-0
lines changed

2 files changed

+161
-0
lines changed

Linkedlist/LinkedNode.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package Linkedlist;
2+
3+
public class LinkedNode<T extends Comparable<T>> {
4+
5+
private T value;
6+
private LinkedNode<T> prev, next;
7+
8+
public LinkedNode( T value ) {
9+
this.value = value;
10+
}
11+
12+
public T value() {
13+
return this.value;
14+
}
15+
16+
public void value( T value ) {
17+
this.value = value;
18+
}
19+
20+
public LinkedNode<T> previous() {
21+
return this.prev;
22+
}
23+
24+
public void previous( LinkedNode<T> previousNode ) {
25+
this.prev = previousNode;
26+
}
27+
28+
public LinkedNode<T> next() {
29+
return this.next;
30+
}
31+
32+
public void next( LinkedNode<T> nextNode ) {
33+
this.next = nextNode;
34+
}
35+
36+
public void delete() {
37+
this.value = null;
38+
this.next = null;
39+
this.prev = null;
40+
}
41+
}

Linkedlist/tests/LinkedNodeTest.java

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
package Linkedlist.tests;
2+
3+
import static org.junit.Assert.*;
4+
5+
import org.junit.After;
6+
import org.junit.Before;
7+
import org.junit.Test;
8+
9+
import Linkedlist.LinkedNode;
10+
11+
public class LinkedNodeTest {
12+
13+
private LinkedNode<Integer> intNode;
14+
private LinkedNode<String> strNode;
15+
private LinkedNode<Double> dblNode;
16+
17+
@Before public void setUp() {
18+
intNode = new LinkedNode<Integer>( 1 );
19+
strNode = new LinkedNode<String>( "a" );
20+
dblNode = new LinkedNode<Double>( 1.0 );
21+
}
22+
23+
@After public void tearDown() {
24+
intNode.delete();
25+
strNode.delete();
26+
dblNode.delete();
27+
}
28+
29+
@Test public void getValueTest() {
30+
// Integer.
31+
assertEquals( 1, intNode.value().intValue() );
32+
33+
// String.
34+
assertEquals( "a", strNode.value() );
35+
36+
// Double.
37+
assertEquals( 1.0, dblNode.value().doubleValue(), 0.00001 );
38+
}
39+
40+
@Test public void setValueTest() {
41+
// Integer.
42+
assertEquals( 1, intNode.value().intValue() );
43+
intNode.value( -2 );
44+
assertEquals( -2, intNode.value().intValue() );
45+
46+
// String.
47+
assertEquals( "a", strNode.value() );
48+
strNode.value( "b" );
49+
assertEquals( "b", strNode.value() );
50+
51+
// Double
52+
assertEquals( 1.0, dblNode.value().doubleValue(), 0.00001 );
53+
dblNode.value( -1.1 );
54+
assertEquals( -1.1, dblNode.value().doubleValue(), 0.00001 );
55+
}
56+
57+
@Test public void previousNodeTest() {
58+
// Integer.
59+
assertNull( intNode.previous() );
60+
intNode.previous( new LinkedNode<Integer>( 0 ) );
61+
assertEquals( 0, intNode.previous().value().intValue() );
62+
63+
// Same for String and Double.
64+
}
65+
66+
@Test public void nextNodeTest() {
67+
// Integer.
68+
assertNull( intNode.next() );
69+
intNode.next( new LinkedNode<Integer>( 2 ) );
70+
assertEquals( 2, intNode.next().value().intValue() );
71+
72+
// Same for String and Double.
73+
}
74+
75+
@Test public void deleteTest() {
76+
// Integer.
77+
intNode.delete();
78+
assertNull( intNode.previous() );
79+
assertNull( intNode.value() );
80+
assertNull( intNode.next() );
81+
82+
// String.
83+
strNode.delete();
84+
assertNull( strNode.previous() );
85+
assertNull( strNode.value() );
86+
assertNull( strNode.next() );
87+
88+
// Double
89+
dblNode.delete();
90+
assertNull( dblNode.previous() );
91+
assertNull( dblNode.value() );
92+
assertNull( dblNode.next() );
93+
}
94+
95+
@SuppressWarnings("unused") @Test public void mutabilityTest() {
96+
// Integer.
97+
assertEquals( 1, intNode.value().intValue() );
98+
int i = intNode.value();
99+
i = -2;
100+
assertEquals( 1, intNode.value().intValue() );
101+
LinkedNode<Integer> auxIntNode = intNode;
102+
assertEquals( 1, auxIntNode.value().intValue() );
103+
auxIntNode.value( -2 );
104+
assertEquals( -2, intNode.value().intValue() );
105+
106+
// String.
107+
assertEquals( "a", strNode.value() );
108+
String s = strNode.value();
109+
s = "b";
110+
assertEquals( "a", strNode.value() );
111+
LinkedNode<String> auxStringNode = strNode;
112+
assertEquals( "a", auxStringNode.value() );
113+
auxStringNode.value( "b" );
114+
assertEquals( "b", strNode.value() );
115+
116+
// The same for doubles...
117+
118+
}
119+
120+
}

0 commit comments

Comments
 (0)