1f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin/*
2f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Copyright (C) 2010 The Android Open Source Project
3f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *
4f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Licensed under the Apache License, Version 2.0 (the "License");
5f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * you may not use this file except in compliance with the License.
6f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * You may obtain a copy of the License at
7f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *
8f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *      http://www.apache.org/licenses/LICENSE-2.0
9f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *
10f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Unless required by applicable law or agreed to in writing, software
11f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * distributed under the License is distributed on an "AS IS" BASIS,
12f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * See the License for the specific language governing permissions and
14f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * limitations under the License.
15f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin */
16f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
17f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpackage com.android.gallery3d.data;
18f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
19f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport com.android.gallery3d.app.GalleryApp;
20f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
21f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport android.test.AndroidTestCase;
22f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport android.test.suitebuilder.annotation.SmallTest;
23f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
24f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpublic class MediaSetTest extends AndroidTestCase {
25f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    @SuppressWarnings("unused")
26f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    private static final String TAG = "MediaSetTest";
27f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
28f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    @SmallTest
29f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    public void testComboAlbumSet() {
30f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        GalleryApp app = new GalleryAppMock(null, null, null);
31f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        Path.clearAll();
32f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        DataManager dataManager = app.getDataManager();
33f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
34f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        dataManager.addSource(new ComboSource(app));
35f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        dataManager.addSource(new MockSource(app));
36f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
37f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set00 = new MockSet(Path.fromString("/mock/00"), dataManager, 0, 2000);
38f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set01 = new MockSet(Path.fromString("/mock/01"), dataManager, 1, 3000);
39f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set10 = new MockSet(Path.fromString("/mock/10"), dataManager, 2, 4000);
40f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set11 = new MockSet(Path.fromString("/mock/11"), dataManager, 3, 5000);
41f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set12 = new MockSet(Path.fromString("/mock/12"), dataManager, 4, 6000);
42f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
43f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set0 = new MockSet(Path.fromString("/mock/0"), dataManager, 7, 7000);
44f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        set0.addMediaSet(set00);
45f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        set0.addMediaSet(set01);
46f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
47f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MockSet set1 = new MockSet(Path.fromString("/mock/1"), dataManager, 8, 8000);
48f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        set1.addMediaSet(set10);
49f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        set1.addMediaSet(set11);
50f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        set1.addMediaSet(set12);
51f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
52f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        MediaSet combo = dataManager.getMediaSet("/combo/{/mock/0,/mock/1}");
53f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals(5, combo.getSubMediaSetCount());
54f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals(0, combo.getMediaItemCount());
55f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals("/mock/00", combo.getSubMediaSet(0).getPath().toString());
56f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals("/mock/01", combo.getSubMediaSet(1).getPath().toString());
57f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals("/mock/10", combo.getSubMediaSet(2).getPath().toString());
58f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals("/mock/11", combo.getSubMediaSet(3).getPath().toString());
59f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals("/mock/12", combo.getSubMediaSet(4).getPath().toString());
60f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
61f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        assertEquals(10, combo.getTotalMediaItemCount());
62f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    }
63f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin}
64