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