1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.pool2.impl;
18
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21
22 import java.lang.ref.SoftReference;
23
24 import org.junit.jupiter.api.BeforeEach;
25 import org.junit.jupiter.api.Test;
26
27
28
29
30
31 public class TestPooledSoftReference {
32
33 private static final String REFERENT = "test";
34 private static final String REFERENT2 = "test2";
35 PooledSoftReference<String> ref;
36
37 @BeforeEach
38 public void setUp() {
39 final SoftReference<String> softRef = new SoftReference<>(REFERENT);
40 ref = new PooledSoftReference<>(softRef);
41 }
42
43 @Test
44 public void testPooledSoftReference() {
45 assertEquals(REFERENT, ref.getObject());
46
47 SoftReference<String> softRef = ref.getReference();
48 assertEquals(REFERENT, softRef.get());
49 softRef.clear();
50
51 softRef = new SoftReference<>(REFERENT2);
52 ref.setReference(softRef);
53
54 assertEquals(REFERENT2, ref.getObject());
55
56 softRef = ref.getReference();
57 assertEquals(REFERENT2, softRef.get());
58 softRef.clear();
59 }
60
61 @Test
62 public void testToString() {
63 final String expected = "Referenced Object: test, State: IDLE";
64 assertEquals(expected, ref.toString());
65 }
66
67 }