1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.lang3.concurrent;
18
19 import static org.junit.jupiter.api.Assertions.assertFalse;
20 import static org.junit.jupiter.api.Assertions.assertTrue;
21
22 import java.util.concurrent.atomic.AtomicBoolean;
23
24 import org.junit.jupiter.api.Test;
25
26
27
28
29 public class LazyInitializerCloserTest extends AbstractConcurrentInitializerTest {
30
31 private final AtomicBoolean closed = new AtomicBoolean();
32
33
34
35
36
37
38 @Override
39 protected LazyInitializer<Object> createInitializer() {
40 return LazyInitializer.builder().setInitializer(Object::new).setCloser(e -> closed.set(true)).get();
41 }
42
43 @Test
44 public void testIsInitialized() throws ConcurrentException {
45 final LazyInitializer<Object> initializer = createInitializer();
46 assertFalse(initializer.isInitialized());
47 initializer.get();
48 assertTrue(initializer.isInitialized());
49 assertFalse(closed.get());
50 initializer.close();
51 assertTrue(closed.get());
52 }
53
54 }