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