1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.util;
21
22 import org.junit.Test;
23
24 import static org.mockito.Mockito.mock;
25 import static org.mockito.Mockito.when;
26 import static org.mockito.Mockito.verify;
27
28 import static org.junit.Assert.assertEquals;
29 import static org.junit.Assert.assertFalse;
30 import static org.junit.Assert.assertNotNull;
31 import static org.junit.Assert.assertTrue;
32
33 public class TestEnvironmentEdgeManager {
34
35 @Test
36 public void testManageSingleton() {
37 EnvironmentEdge edge = EnvironmentEdgeManager.getDelegate();
38 assertNotNull(edge);
39 assertTrue(edge instanceof DefaultEnvironmentEdge);
40 EnvironmentEdgeManager.reset();
41 EnvironmentEdge edge2 = EnvironmentEdgeManager.getDelegate();
42 assertFalse(edge == edge2);
43 IncrementingEnvironmentEdge newEdge = new IncrementingEnvironmentEdge();
44 EnvironmentEdgeManager.injectEdge(newEdge);
45 assertEquals(newEdge, EnvironmentEdgeManager.getDelegate());
46
47
48 EnvironmentEdgeManager.injectEdge(null);
49 EnvironmentEdge nullResult = EnvironmentEdgeManager.getDelegate();
50 assertTrue(nullResult instanceof DefaultEnvironmentEdge);
51 }
52
53 @Test
54 public void testCurrentTimeInMillis() {
55 EnvironmentEdge mock = mock(EnvironmentEdge.class);
56 EnvironmentEdgeManager.injectEdge(mock);
57 long expectation = 3456;
58 when(mock.currentTimeMillis()).thenReturn(expectation);
59 long result = EnvironmentEdgeManager.currentTimeMillis();
60 verify(mock).currentTimeMillis();
61 assertEquals(expectation, result);
62 }
63 }