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 import static org.junit.jupiter.api.Assertions.assertEquals;
20
21 import java.lang.ref.SoftReference;
22
23 import org.junit.jupiter.api.BeforeEach;
24 import org.junit.jupiter.api.Test;
25
26
27
28
29 class TestPooledSoftReference {
30
31 private static final String REFERENT = "test";
32 private static final String REFERENT2 = "test2";
33 PooledSoftReference<String> ref;
34
35 @BeforeEach
36 public void setUp() {
37 final SoftReference<String> softRef = new SoftReference<>(REFERENT);
38 ref = new PooledSoftReference<>(softRef);
39 }
40
41 @Test
42 void testPooledSoftReference() {
43 assertEquals(REFERENT, ref.getObject());
44
45 SoftReference<String> softRef = ref.getReference();
46 assertEquals(REFERENT, softRef.get());
47 softRef.clear();
48
49 softRef = new SoftReference<>(REFERENT2);
50 ref.setReference(softRef);
51
52 assertEquals(REFERENT2, ref.getObject());
53
54 softRef = ref.getReference();
55 assertEquals(REFERENT2, softRef.get());
56 softRef.clear();
57 }
58
59 @Test
60 void testToString() {
61 final String expected = "Referenced Object: test, State: IDLE";
62 assertEquals(expected, ref.toString());
63 }
64
65 }