1d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton/* 2d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * Copyright (C) 2017 The Android Open Source Project 3d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * 4d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * Licensed under the Apache License, Version 2.0 (the "License"); 5d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * you may not use this file except in compliance with the License. 6d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * You may obtain a copy of the License at 7d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * 8d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * http://www.apache.org/licenses/LICENSE-2.0 9d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * 10d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * Unless required by applicable law or agreed to in writing, software 11d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * distributed under the License is distributed on an "AS IS" BASIS, 12d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * See the License for the specific language governing permissions and 14d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton * limitations under the License. 15d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton */ 16d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton 179c80550cbbe357a89e2abeeb9c7769fcaefc3a65Jake Whartonpackage androidx.core.util 18d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton 198770f84ffe4cf2ee98744f30ee8b4cd659a65633Jake Whartonimport android.support.test.filters.SdkSuppress 20d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Whartonimport com.google.common.truth.Truth.assertThat 21d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Whartonimport org.junit.Assert.assertEquals 22d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Whartonimport org.junit.Test 23d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton 248770f84ffe4cf2ee98744f30ee8b4cd659a65633Jake Wharton@SdkSuppress(minSdkVersion = 19) 25d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Whartonclass ArrayMapTest { 26d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton @Test fun empty() { 27d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton val map = arrayMapOf<String, String>() 28d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton assertEquals(0, map.size) 29d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton } 30d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton 31d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton @Test fun nonEmpty() { 32d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton val map = arrayMapOf("foo" to "bar", "bar" to "baz") 33d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton assertThat(map).containsExactly("foo", "bar", "bar", "baz") 34d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton } 35d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton 36d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton @Test fun duplicateKeyKeepsLast() { 37d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton val map = arrayMapOf("foo" to "bar", "foo" to "baz") 38d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton assertThat(map).containsExactly("foo", "baz") 39d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton } 40d3c690bfb4e670a852944fc5732d928dcf3c1f88Jake Wharton} 41