• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.managedprovisioning.common;
18 import static com.google.common.truth.Truth.assertThat;
19 
20 import androidx.test.filters.SmallTest;
21 
22 import org.junit.Before;
23 import org.junit.Test;
24 
25 @SmallTest
26 public class HomogenousBiMapTest {
27 
28     private final static Integer KEY = 1;
29     private final static Integer VALUE = 2;
30     private final static Integer OTHER_KEY = 3;
31     private final static Integer OTHER_VALUE = 4;
32     private HomogenousBiMap<Object> mBiMap;
33 
34     @Before
setUp()35     public void setUp() {
36         mBiMap = new HomogenousBiMap<>();
37         mBiMap.put(KEY, VALUE);
38     }
39 
40     @Test
put_works()41     public void put_works() {
42         assertThat(mBiMap.getForwardMap().get(KEY)).isEqualTo(VALUE);
43     }
44 
45     @Test
getForwardMap_works()46     public void getForwardMap_works() {
47         assertThat(mBiMap.getForwardMap().get(KEY)).isEqualTo(VALUE);
48     }
49 
50     @Test
getReverseMap_works()51     public void getReverseMap_works() {
52         assertThat(mBiMap.getReverseMap().get(VALUE)).isEqualTo(KEY);
53     }
54 
55     @Test
clear_works()56     public void clear_works() {
57         mBiMap.clear();
58 
59         assertThat(mBiMap.getForwardMap()).isEmpty();
60         assertThat(mBiMap.getReverseMap()).isEmpty();
61     }
62 
63     @Test
equals_equalMaps_works()64     public void equals_equalMaps_works() {
65         HomogenousBiMap<Integer> copy = new HomogenousBiMap<>();
66         copy.put(KEY, VALUE);
67 
68         assertThat(copy).isEqualTo(mBiMap);
69     }
70 
71     @Test
equals_differentMaps_works()72     public void equals_differentMaps_works() {
73         HomogenousBiMap<Integer> copy = new HomogenousBiMap<>();
74         copy.put(OTHER_KEY, OTHER_VALUE);
75 
76         assertThat(copy).isNotEqualTo(mBiMap);
77     }
78 
79     @Test
hashCode_equalMaps_works()80     public void hashCode_equalMaps_works() {
81         HomogenousBiMap<Integer> copy = new HomogenousBiMap<>();
82         copy.put(KEY, VALUE);
83 
84         assertThat(copy.hashCode()).isEqualTo(mBiMap.hashCode());
85     }
86 
87     @Test
hashCode_differentMaps_works()88     public void hashCode_differentMaps_works() {
89         HomogenousBiMap<Integer> copy = new HomogenousBiMap<>();
90         copy.put(OTHER_KEY, OTHER_VALUE);
91 
92         assertThat(copy.hashCode()).isNotEqualTo(mBiMap.hashCode());
93     }
94 }
95