17fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay/*
27fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * Copyright 2017 The Android Open Source Project
37fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay *
47fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * Licensed under the Apache License, Version 2.0 (the "License");
57fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * you may not use this file except in compliance with the License.
67fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * You may obtain a copy of the License at
77fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay *
87fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay *      http://www.apache.org/licenses/LICENSE-2.0
97fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay *
107fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * Unless required by applicable law or agreed to in writing, software
117fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * distributed under the License is distributed on an "AS IS" BASIS,
127fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * See the License for the specific language governing permissions and
147fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay * limitations under the License.
157fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay */
167fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
17aa187e8beb97f7c01a0ff403dcb1a8567450ec7bAurimas Liutikaspackage androidx.recyclerview.selection;
187fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
197fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport static org.junit.Assert.assertEquals;
207fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
217fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport android.os.Bundle;
227fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport android.support.test.filters.SmallTest;
237fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport android.support.test.runner.AndroidJUnit4;
247fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
2560dadaeed4f5cee272b575dfde6c02e3506a2fa0Aurimas Liutikasimport androidx.recyclerview.selection.testing.Bundles;
2660dadaeed4f5cee272b575dfde6c02e3506a2fa0Aurimas Liutikas
277fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport org.junit.Before;
287fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport org.junit.Test;
297fb763509e07f98d650efc25c91bff8b1cb239acSteve McKayimport org.junit.runner.RunWith;
307fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
317fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay@RunWith(AndroidJUnit4.class)
327fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay@SmallTest
337fb763509e07f98d650efc25c91bff8b1cb239acSteve McKaypublic final class StorageStrategy_LongTest {
347fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
357fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    private StorageStrategy<Long> mStorage;
367fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
377fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    @Before
387fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    public void setUp() {
397fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        mStorage = StorageStrategy.createLongStorage();
407fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    }
417fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
427fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    @Test
437fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    public void testReadWrite() {
447fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        MutableSelection<Long> orig = new MutableSelection<>();
457fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        orig.add(5L);
467fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        orig.add(10L);
477fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        orig.add(15L);
487fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
497fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        Bundle parceled = Bundles.forceParceling(mStorage.asBundle(orig));
507fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        Selection<Long> restored = mStorage.asSelection(parceled);
517fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay
527fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay        assertEquals(orig, restored);
537fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay    }
547fb763509e07f98d650efc25c91bff8b1cb239acSteve McKay}
55