@@ -0,0 +1,3566 @@
+/*%0A *  Copyright (c) 2004-2021, University of Oslo%0A *  All rights reserved.%0A *  %0A *  Redistribution and use in source and binary forms, with or without%0A *  modification, are permitted provided that the following conditions are met:%0A *  Redistributions of source code must retain the above copyright notice, this%0A *  list of conditions and the following disclaimer.%0A *  %0A *  Redistributions in binary form must reproduce the above copyright notice,%0A *  this list of conditions and the following disclaimer in the documentation%0A *  and/or other materials provided with the distribution.%0A *  Neither the name of the HISP project nor the names of its contributors may%0A *  be used to endorse or promote products derived from this software without%0A *  specific prior written permission.%0A *  %0A *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS %22AS IS%22 AND%0A *  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0A *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0A *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR%0A *  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES%0A *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;%0A *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON%0A *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT%0A *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS%0A *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0A */%0A%0Apackage org.hisp.dhis.android.testapp.datastore;%0A%0Aimport static com.google.common.truth.Truth.assertThat;%0A%0Aimport org.hisp.dhis.android.core.datastore.KeyValuePair;%0Aimport org.hisp.dhis.android.core.maintenance.D2Error;%0Aimport org.hisp.dhis.android.core.utils.integration.mock.BaseMockIntegrationTestFullDispatcher;%0Aimport org.hisp.dhis.android.core.utils.runner.D2JunitRunner;%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0A%0A@RunWith(D2JunitRunner.class)%0Apublic class LocalDataStoreCollectionRepositoryMockIntegrationShould extends BaseMockIntegrationTestFullDispatcher %7B%0A%0A    @Test%0A    public void add_values() throws D2Error %7B%0A        d2.localDataStoreModule().localDataStore().blockingAdd(%0A                KeyValuePair.builder()%0A                        .key(%22key1%22)%0A                        .value(%22value1%22)%0A                        .build()%0A        );%0A        d2.localDataStoreModule().localDataStore().blockingAdd(%0A                KeyValuePair.builder()%0A                        .key(%22key2%22)%0A                        .value(%22value2%22)%0A                        .build()%0A        );%0A        assertThat(d2.localDataStoreModule().localDataStore().blockingGet().size()).isEqualTo(2);%0A    %7D%0A%0A    @Test%0A    public void find_all() %7B%0A        assertThat(d2.localDataStoreModule().localDataStore().blockingGet().size()).isEqualTo(2);%0A    %7D%0A%0A    @Test%0A    public void filter_by_key() %7B%0A        KeyValuePair pair = d2.localDataStoreModule().localDataStore()%0A                .byKey().eq(%22key1%22)%0A                .one()%0A                .blockingGet();%0A%0A        assertThat(pair.key()).isEqualTo(%22key1%22);%0A        assertThat(pair.value()).isEqualTo(%22value1%22);%0A    %7D%0A%0A    @Test%0A    public void filter_by_value() %7B%0A        KeyValuePair pair = d2.localDataStoreModule().localDataStore()%0A                .byValue().eq(%22value2%22)%0A                .one()%0A                .blockingGet();%0A%0A        assertThat(pair.key()).isEqualTo(%22key2%22);%0A        assertThat(pair.value()).isEqualTo(%22value2%22);%0A    %7D%0A%7D

Add tests