18da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal/* 28da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Copyright 2010 Google Inc. 38da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 48da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Licensed under the Apache License, Version 2.0 (the "License"); 58da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * you may not use this file except in compliance with the License. 68da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * You may obtain a copy of the License at 78da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 88da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * http://www.apache.org/licenses/LICENSE-2.0 98da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Unless required by applicable law or agreed to in writing, software 118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * distributed under the License is distributed on an "AS IS" BASIS, 128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * See the License for the specific language governing permissions and 148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limitations under the License. 158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalpackage com.google.android.testing.mocking; 178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport junit.framework.TestCase; 198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.util.Arrays; 218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.util.List; 228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal/** 248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @author swoodward@google.com (Stephen Woodward) 258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalpublic class SdkVersionTest extends TestCase { 278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public void testGetAllVersions() { 298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal List<SdkVersion> versions = Arrays.asList(SdkVersion.getAllVersions()); 308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal List<SdkVersion> values = Arrays.asList(SdkVersion.values()); 3140bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal assertEquals(6, versions.size()); 328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertTrue(values.containsAll(versions)); 338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertFalse(versions.contains(SdkVersion.UNKNOWN)); 348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public void testGetVersionName() { 378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v15", SdkVersion.CUPCAKE.getVersionName()); 388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v16", SdkVersion.DONUT.getVersionName()); 398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v201", SdkVersion.ECLAIR_0_1.getVersionName()); 408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v21", SdkVersion.ECLAIR_MR1.getVersionName()); 418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v22", SdkVersion.FROYO.getVersionName()); 4240bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal assertEquals("v23", SdkVersion.GINGERBREAD.getVersionName()); 438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("", SdkVersion.UNKNOWN.getVersionName()); 448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("Unknown new SDK has been added, update this test", 4540bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal 7, SdkVersion.values().length); 468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public void testGetPackagePrefix() { 498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v15.", SdkVersion.CUPCAKE.getPackagePrefix()); 508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v16.", SdkVersion.DONUT.getPackagePrefix()); 518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v201.", SdkVersion.ECLAIR_0_1.getPackagePrefix()); 528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v21.", SdkVersion.ECLAIR_MR1.getPackagePrefix()); 538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("v22.", SdkVersion.FROYO.getPackagePrefix()); 5440bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal assertEquals("v23.", SdkVersion.GINGERBREAD.getPackagePrefix()); 558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("", SdkVersion.UNKNOWN.getPackagePrefix()); 568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("Unknown new SDK has been added, update this test", 5740bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal 7, SdkVersion.values().length); 588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public void testGetCurrentVersion() { 618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal // Always UNKNOWN on the desktop 628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.UNKNOWN, SdkVersion.getCurrentVersion()); 638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public void testGetVersionFor() { 668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.CUPCAKE, SdkVersion.getVersionFor(3)); 678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.DONUT, SdkVersion.getVersionFor(4)); 688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.ECLAIR_0_1, SdkVersion.getVersionFor(6)); 698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.ECLAIR_MR1, SdkVersion.getVersionFor(7)); 708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.FROYO, SdkVersion.getVersionFor(8)); 7140bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal assertEquals(SdkVersion.GINGERBREAD, SdkVersion.getVersionFor(9)); 728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals(SdkVersion.UNKNOWN, SdkVersion.getVersionFor(-1)); 7340bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal // All likely future version numbers... Modify this when a new version is added 7440bb73886c61d4b2e96bab98b50c1cbfcb54d9a3Luis Sigal for (int i = 10; i < 50; ++i) { 758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal assertEquals("Unknown new SDK has been added, update this test", 768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal SdkVersion.UNKNOWN, SdkVersion.getVersionFor(i)); 778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal} 80