2
2
3
3
import static com .google .common .truth .Truth .assertThat ;
4
4
5
+ import android .app .Application ;
5
6
import android .graphics .Bitmap ;
6
-
7
+ import android .graphics .Color ;
8
+ import android .graphics .drawable .ColorDrawable ;
9
+ import android .graphics .drawable .Drawable ;
10
+ import android .graphics .drawable .GradientDrawable ;
11
+ import com .bumptech .glide .Priority ;
7
12
import com .bumptech .glide .load .MultiTransformation ;
13
+ import com .bumptech .glide .load .Option ;
8
14
import com .bumptech .glide .load .Transformation ;
15
+ import com .bumptech .glide .load .engine .DiskCacheStrategy ;
9
16
import com .bumptech .glide .load .resource .bitmap .CenterCrop ;
10
17
import com .bumptech .glide .load .resource .bitmap .CircleCrop ;
11
-
18
+ import com .bumptech .glide .signature .ObjectKey ;
19
+ import com .bumptech .glide .util .Util ;
20
+ import com .google .common .testing .EqualsTester ;
12
21
import org .junit .Before ;
13
22
import org .junit .Test ;
14
23
import org .junit .runner .RunWith ;
15
24
import org .mockito .Mock ;
16
25
import org .mockito .MockitoAnnotations ;
17
26
import org .robolectric .RobolectricTestRunner ;
27
+ import org .robolectric .RuntimeEnvironment ;
18
28
import org .robolectric .annotation .Config ;
19
29
20
30
@ RunWith (RobolectricTestRunner .class )
@@ -23,11 +33,14 @@ public class RequestOptionsTest {
23
33
24
34
private RequestOptions options ;
25
35
@ Mock private Transformation <Bitmap > transformation ;
36
+ private Application app ;
26
37
27
38
@ Before
28
39
public void setUp () {
29
40
MockitoAnnotations .initMocks (this );
30
41
options = new RequestOptions ();
42
+
43
+ app = RuntimeEnvironment .application ;
31
44
}
32
45
33
46
@ Test
@@ -146,4 +159,101 @@ public void testApplyMultiTransform() {
146
159
assertThat (options .getTransformations ().get (Bitmap .class ))
147
160
.isInstanceOf (MultiTransformation .class );
148
161
}
162
+
163
+ @ Test
164
+ public void testEqualsHashCode () {
165
+ Drawable first = new ColorDrawable (Color .RED );
166
+ Drawable second = new GradientDrawable ();
167
+ assertThat (first ).isNotEqualTo (second );
168
+ assertThat (Util .bothNullOrEqual (first , second )).isFalse ();
169
+ new EqualsTester ()
170
+ .addEqualityGroup (
171
+ new RequestOptions ().sizeMultiplier (.7f ),
172
+ new RequestOptions ().sizeMultiplier (.7f ))
173
+ .addEqualityGroup (new RequestOptions ().sizeMultiplier (0.8f ))
174
+ .addEqualityGroup (new RequestOptions ().error (1 ), new RequestOptions ().error (1 ))
175
+ .addEqualityGroup (new RequestOptions ().error (2 ))
176
+ .addEqualityGroup (new RequestOptions ().error (first ), new RequestOptions ().error (first ))
177
+ .addEqualityGroup (new RequestOptions ().error (second ))
178
+ .addEqualityGroup (new RequestOptions ().placeholder (1 ), new RequestOptions ().placeholder (1 ))
179
+ .addEqualityGroup (new RequestOptions ().placeholder (2 ))
180
+ .addEqualityGroup (
181
+ new RequestOptions ().placeholder (first ),
182
+ new RequestOptions ().placeholder (first ))
183
+ .addEqualityGroup (new RequestOptions ().placeholder (second ))
184
+ .addEqualityGroup (new RequestOptions ().fallback (1 ), new RequestOptions ().fallback (1 ))
185
+ .addEqualityGroup (new RequestOptions ().fallback (2 ))
186
+ .addEqualityGroup (
187
+ new RequestOptions ().fallback (first ),
188
+ new RequestOptions ().fallback (first ))
189
+ .addEqualityGroup (new RequestOptions ().fallback (second ))
190
+ .addEqualityGroup (
191
+ new RequestOptions ().skipMemoryCache (true ),
192
+ new RequestOptions ().skipMemoryCache (true ))
193
+ .addEqualityGroup (
194
+ new RequestOptions (),
195
+ new RequestOptions ().skipMemoryCache (false ),
196
+ new RequestOptions ().theme (null ),
197
+ new RequestOptions ().onlyRetrieveFromCache (false ),
198
+ new RequestOptions ().useUnlimitedSourceGeneratorsPool (false ))
199
+ .addEqualityGroup (
200
+ new RequestOptions ().override (100 ),
201
+ new RequestOptions ().override (100 , 100 ))
202
+ .addEqualityGroup (
203
+ new RequestOptions ().override (200 ),
204
+ new RequestOptions ().override (200 , 200 ))
205
+ .addEqualityGroup (
206
+ new RequestOptions ().override (100 , 200 ),
207
+ new RequestOptions ().override (100 , 200 ))
208
+ .addEqualityGroup (
209
+ new RequestOptions ().override (200 , 100 ),
210
+ new RequestOptions ().override (200 , 100 ))
211
+ .addEqualityGroup (
212
+ new RequestOptions ().centerCrop (),
213
+ new RequestOptions ().centerCrop ())
214
+ .addEqualityGroup (
215
+ new RequestOptions ().optionalCenterCrop (),
216
+ new RequestOptions ().optionalCenterCrop ())
217
+ .addEqualityGroup (new RequestOptions ().fitCenter ())
218
+ .addEqualityGroup (new RequestOptions ().circleCrop ())
219
+ .addEqualityGroup (new RequestOptions ().centerInside ())
220
+ .addEqualityGroup (
221
+ new RequestOptions ().useUnlimitedSourceGeneratorsPool (true ),
222
+ new RequestOptions ().useUnlimitedSourceGeneratorsPool (true ))
223
+ .addEqualityGroup (
224
+ new RequestOptions ().onlyRetrieveFromCache (true ),
225
+ new RequestOptions ().onlyRetrieveFromCache (true ))
226
+ .addEqualityGroup (
227
+ new RequestOptions ().diskCacheStrategy (DiskCacheStrategy .ALL ),
228
+ new RequestOptions ().diskCacheStrategy (DiskCacheStrategy .ALL ))
229
+ .addEqualityGroup (
230
+ new RequestOptions ().diskCacheStrategy (DiskCacheStrategy .NONE ))
231
+ .addEqualityGroup (
232
+ new RequestOptions ().priority (Priority .HIGH ),
233
+ new RequestOptions ().priority (Priority .HIGH ))
234
+ .addEqualityGroup (
235
+ new RequestOptions ().priority (Priority .LOW ))
236
+ .addEqualityGroup (
237
+ new RequestOptions ().set (Option .<Boolean >memory ("test" ), true ),
238
+ new RequestOptions ().set (Option .<Boolean >memory ("test" ), true ))
239
+ .addEqualityGroup (
240
+ new RequestOptions ().set (Option .<Boolean >memory ("test" ), false ))
241
+ .addEqualityGroup (
242
+ new RequestOptions ().set (Option .<Boolean >memory ("test2" ), true ))
243
+ .addEqualityGroup (
244
+ new RequestOptions ().decode (Integer .class ),
245
+ new RequestOptions ().decode (Integer .class ))
246
+ .addEqualityGroup (
247
+ new RequestOptions ().decode (Float .class ))
248
+ .addEqualityGroup (
249
+ new RequestOptions ().signature (new ObjectKey ("test" )),
250
+ new RequestOptions ().signature (new ObjectKey ("test" )))
251
+ .addEqualityGroup (
252
+ new RequestOptions ().signature (new ObjectKey ("test2" )))
253
+ .addEqualityGroup (
254
+ new RequestOptions ().theme (app .getTheme ()),
255
+ new RequestOptions ().theme (app .getTheme ()))
256
+ .testEquals ();
257
+ }
258
+
149
259
}
0 commit comments