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