1666ea1b28a76aeba74744148b15099254d918671Owen Linpackage com.android.camera.gallery; 2666ea1b28a76aeba74744148b15099254d918671Owen Lin 3666ea1b28a76aeba74744148b15099254d918671Owen Linimport com.android.camera.ImageManager; 4666ea1b28a76aeba74744148b15099254d918671Owen Lin 5666ea1b28a76aeba74744148b15099254d918671Owen Linimport android.test.AndroidTestCase; 6666ea1b28a76aeba74744148b15099254d918671Owen Lin 7666ea1b28a76aeba74744148b15099254d918671Owen Linpublic class ImageListUberUnitTests extends AndroidTestCase { 8666ea1b28a76aeba74744148b15099254d918671Owen Lin 97d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin private MockImage getImageAt(ImageListUber uber, int index) { 107d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin return (MockImage) uber.getImageAt(index); 117d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin } 127d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin 13666ea1b28a76aeba74744148b15099254d918671Owen Lin public void testTheOrderOfGetImageAt() { 14666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listA = new MockImageList(); 15666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listB = new MockImageList(); 16666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(2, 2)); 17666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(0, 0)); 18666ea1b28a76aeba74744148b15099254d918671Owen Lin listB.addImage(new MockImage(1, 1)); 19666ea1b28a76aeba74744148b15099254d918671Owen Lin ImageListUber uber = new ImageListUber( 20666ea1b28a76aeba74744148b15099254d918671Owen Lin new IImageList[] {listA, listB}, ImageManager.SORT_DESCENDING); 21666ea1b28a76aeba74744148b15099254d918671Owen Lin 227d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(2, getImageAt(uber, 0).fullSizeImageId()); 237d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(1, getImageAt(uber, 1).fullSizeImageId()); 247d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, getImageAt(uber, 2).fullSizeImageId()); 25666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.close(); 26666ea1b28a76aeba74744148b15099254d918671Owen Lin 27666ea1b28a76aeba74744148b15099254d918671Owen Lin uber = new ImageListUber( 28666ea1b28a76aeba74744148b15099254d918671Owen Lin new IImageList[] {listA, listB}, ImageManager.SORT_DESCENDING); 297d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(2, getImageAt(uber, 0).fullSizeImageId()); 307d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(1, getImageAt(uber, 1).fullSizeImageId()); 317d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, getImageAt(uber, 2).fullSizeImageId()); 32666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.close(); 33666ea1b28a76aeba74744148b15099254d918671Owen Lin } 34666ea1b28a76aeba74744148b15099254d918671Owen Lin 35666ea1b28a76aeba74744148b15099254d918671Owen Lin public void testTheOrderOfGetImageAtCaseTwo() { 36666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listA = new MockImageList(); 37666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listB = new MockImageList(); 38666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(2, 2)); 39666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(1, 1)); 40666ea1b28a76aeba74744148b15099254d918671Owen Lin listB.addImage(new MockImage(0, 0)); 41666ea1b28a76aeba74744148b15099254d918671Owen Lin ImageListUber uber = new ImageListUber( 42666ea1b28a76aeba74744148b15099254d918671Owen Lin new IImageList[] {listB, listA}, ImageManager.SORT_DESCENDING); 43666ea1b28a76aeba74744148b15099254d918671Owen Lin 447d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(2, getImageAt(uber, 0).fullSizeImageId()); 457d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(1, getImageAt(uber, 1).fullSizeImageId()); 467d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, getImageAt(uber, 2).fullSizeImageId()); 47666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.close(); 48666ea1b28a76aeba74744148b15099254d918671Owen Lin 49666ea1b28a76aeba74744148b15099254d918671Owen Lin uber = new ImageListUber( 50666ea1b28a76aeba74744148b15099254d918671Owen Lin new IImageList[] {listA, listB}, ImageManager.SORT_DESCENDING); 51666ea1b28a76aeba74744148b15099254d918671Owen Lin 527d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(2, getImageAt(uber, 0).fullSizeImageId()); 537d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(1, getImageAt(uber, 1).fullSizeImageId()); 547d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, getImageAt(uber, 2).fullSizeImageId()); 55666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.close(); 56666ea1b28a76aeba74744148b15099254d918671Owen Lin } 57666ea1b28a76aeba74744148b15099254d918671Owen Lin 58666ea1b28a76aeba74744148b15099254d918671Owen Lin public void testRemoveImage() { 59666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listA = new MockImageList(); 60666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listB = new MockImageList(); 61666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImage target = new MockImage(1, 1); 62666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(2, 2)); 63666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(0, 0)); 64666ea1b28a76aeba74744148b15099254d918671Owen Lin listB.addImage(target); 65666ea1b28a76aeba74744148b15099254d918671Owen Lin ImageListUber uber = new ImageListUber( 66666ea1b28a76aeba74744148b15099254d918671Owen Lin new IImageList[] {listB, listA}, ImageManager.SORT_DESCENDING); 67666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.removeImage(target); 687d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(2, getImageAt(uber, 0).fullSizeImageId()); 697d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, getImageAt(uber, 1).fullSizeImageId()); 70666ea1b28a76aeba74744148b15099254d918671Owen Lin 717d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, uber.getImageIndex(getImageAt(uber, 0))); 727d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(1, uber.getImageIndex(getImageAt(uber, 1))); 73666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.close(); 74666ea1b28a76aeba74744148b15099254d918671Owen Lin } 75666ea1b28a76aeba74744148b15099254d918671Owen Lin 76666ea1b28a76aeba74744148b15099254d918671Owen Lin public void testRemoveImageAt() { 77666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listA = new MockImageList(); 78666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImageList listB = new MockImageList(); 79666ea1b28a76aeba74744148b15099254d918671Owen Lin MockImage target = new MockImage(1, 1); 80666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(2, 2)); 81666ea1b28a76aeba74744148b15099254d918671Owen Lin listA.addImage(new MockImage(0, 0)); 82666ea1b28a76aeba74744148b15099254d918671Owen Lin listB.addImage(target); 83666ea1b28a76aeba74744148b15099254d918671Owen Lin ImageListUber uber = new ImageListUber( 84666ea1b28a76aeba74744148b15099254d918671Owen Lin new IImageList[] {listB, listA}, ImageManager.SORT_DESCENDING); 85666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.removeImageAt(1); 867d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(2, getImageAt(uber, 0).fullSizeImageId()); 877d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, getImageAt(uber, 1).fullSizeImageId()); 88666ea1b28a76aeba74744148b15099254d918671Owen Lin 897d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(0, uber.getImageIndex(getImageAt(uber, 0))); 907d2d5ec1e9d6c19278e41c103eacd8090be24406Owen Lin assertEquals(1, uber.getImageIndex(getImageAt(uber, 1))); 91666ea1b28a76aeba74744148b15099254d918671Owen Lin uber.close(); 92666ea1b28a76aeba74744148b15099254d918671Owen Lin } 93666ea1b28a76aeba74744148b15099254d918671Owen Lin} 94