23
23
import java .util .ArrayList ;
24
24
import java .util .Collections ;
25
25
import org .junit .After ;
26
+ import org .junit .Before ;
26
27
import org .junit .Test ;
27
28
import org .junit .runner .RunWith ;
29
+ import org .robolectric .annotation .Config ;
28
30
29
31
@ RunWith (AndroidJUnit4 .class )
30
32
public class HeartBeatInfoStorageTest {
@@ -37,17 +39,17 @@ public class HeartBeatInfoStorageTest {
37
39
private HeartBeatInfoStorage heartBeatInfoStorage =
38
40
new HeartBeatInfoStorage (heartBeatSharedPreferences );
39
41
40
- @ After
41
- public void tearDown () {
42
+ @ Before
43
+ public void setUp () {
42
44
heartBeatSharedPreferences .edit ().clear ().apply ();
43
45
}
44
46
45
- @ Test
46
- public void shouldSendSdkHeartBeat_answerIsNo () {
47
- heartBeatSharedPreferences .edit ().putLong (testSdk , 1 ).apply ();
48
- assertThat (heartBeatInfoStorage .shouldSendSdkHeartBeat (testSdk , 1 )).isFalse ();
47
+ @ After
48
+ public void tearDown () {
49
+ heartBeatSharedPreferences .edit ().clear ().apply ();
49
50
}
50
51
52
+ @ Config (sdk = 29 )
51
53
@ Test
52
54
public void storeOneHeartbeat_storesProperly () {
53
55
assertThat (heartBeatInfoStorage .getHeartBeatCount ()).isEqualTo (0 );
@@ -73,6 +75,7 @@ public void storeOneHeartbeat_storesProperly() {
73
75
assertThat (results .size ()).isEqualTo (0 );
74
76
}
75
77
78
+ @ Config (sdk = 29 )
76
79
@ Test
77
80
public void storeTwoHeartbeat_storesProperly () {
78
81
assertThat (heartBeatInfoStorage .getHeartBeatCount ()).isEqualTo (0 );
@@ -82,18 +85,24 @@ public void storeTwoHeartbeat_storesProperly() {
82
85
ArrayList <HeartBeatResult > results =
83
86
(ArrayList <HeartBeatResult >) heartBeatInfoStorage .getAllHeartBeats ();
84
87
assertThat (results .size ()).isEqualTo (2 );
85
- assertThat (results .get (0 ).getUserAgent ()).isEqualTo ("test-agent" );
86
- assertThat (results .get (0 ).getUsedDates ())
88
+ int userAgentTest = 0 , userAgentTest1 = 1 ;
89
+ if (results .get (0 ).getUserAgent ().contains ("-1" )) {
90
+ userAgentTest = 1 ;
91
+ userAgentTest1 = 0 ;
92
+ }
93
+ assertThat (results .get (userAgentTest ).getUserAgent ()).isEqualTo ("test-agent" );
94
+ assertThat (results .get (userAgentTest ).getUsedDates ())
87
95
.isEqualTo (new ArrayList <String >(Collections .singleton ("1970-01-01" )));
88
- assertThat (results .get (1 ).getUserAgent ()).isEqualTo ("test-agent-1" );
89
- assertThat (results .get (1 ).getUsedDates ())
96
+ assertThat (results .get (userAgentTest1 ).getUserAgent ()).isEqualTo ("test-agent-1" );
97
+ assertThat (results .get (userAgentTest1 ).getUsedDates ())
90
98
.isEqualTo (new ArrayList <String >(Collections .singleton ("1970-01-02" )));
91
99
heartBeatInfoStorage .deleteAllHeartBeats ();
92
100
assertThat (heartBeatInfoStorage .getHeartBeatCount ()).isEqualTo (0 );
93
101
results = (ArrayList <HeartBeatResult >) heartBeatInfoStorage .getAllHeartBeats ();
94
102
assertThat (results .size ()).isEqualTo (0 );
95
103
}
96
104
105
+ @ Config (sdk = 29 )
97
106
@ Test
98
107
public void storeExcessHeartBeats_cleanUpProperly () {
99
108
for (int i = 0 ; i < HEART_BEAT_COUNT_LIMIT - 1 ; i ++) {
@@ -118,9 +127,14 @@ public void storeExcessHeartBeats_cleanUpProperly() {
118
127
heartBeatInfoStorage .storeHeartBeat ((HEART_BEAT_COUNT_LIMIT ) * (86400001L ), "test-agent-1" );
119
128
results = (ArrayList <HeartBeatResult >) heartBeatInfoStorage .getAllHeartBeats ();
120
129
assertThat (results .size ()).isEqualTo (2 );
121
- assertThat (results .get (0 ).getUsedDates ().size ()).isEqualTo (HEART_BEAT_COUNT_LIMIT - 2 );
122
- assertThat (results .get (0 ).getUsedDates ()).doesNotContain ("1970-01-01" );
123
- assertThat (results .get (0 ).getUsedDates ()).doesNotContain ("1970-01-02" );
130
+ int testAgentIndex = 0 ;
131
+ if (results .get (1 ).getUserAgent ().equals ("test-agent" )) {
132
+ testAgentIndex = 1 ;
133
+ }
134
+ assertThat (results .get (testAgentIndex ).getUsedDates ().size ())
135
+ .isEqualTo (HEART_BEAT_COUNT_LIMIT - 2 );
136
+ assertThat (results .get (testAgentIndex ).getUsedDates ()).doesNotContain ("1970-01-01" );
137
+ assertThat (results .get (testAgentIndex ).getUsedDates ()).doesNotContain ("1970-01-02" );
124
138
125
139
heartBeatInfoStorage .deleteAllHeartBeats ();
126
140
assertThat (heartBeatInfoStorage .getHeartBeatCount ()).isEqualTo (0 );
0 commit comments