/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.sdklib.internal.repository.packages; import com.android.sdklib.repository.FullRevision; import com.android.sdklib.repository.PkgProps; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Properties; import junit.framework.TestCase; public class FullRevisionPackageTest extends TestCase { /** * Helper that creates the {@link Properties} from a {@link FullRevision} * as expected by {@link FullRevisionPackage}. */ public static Properties createProps(FullRevision revision) { Properties props = new Properties(); if (revision != null) { props.setProperty(PkgProps.PKG_REVISION, revision.toString()); } return props; } public void testCompareTo() throws Exception { // Test order of full revision packages. // // Note that Package.compareTo() is designed to return the desired // ordering for a list display and as such a final/release package // needs to be listed before its rc/preview package. // // This differs from the order used by FullRevision.compareTo(). ArrayList<Package> list = new ArrayList<Package>(); list.add(new MockToolPackage(null, new FullRevision(1, 0, 0, 0), 8)); list.add(new MockToolPackage(null, new FullRevision(1, 0, 0, 1), 8)); list.add(new MockToolPackage(null, new FullRevision(1, 0, 1, 0), 8)); list.add(new MockToolPackage(null, new FullRevision(1, 0, 1, 1), 8)); list.add(new MockToolPackage(null, new FullRevision(1, 1, 0, 0), 8)); list.add(new MockToolPackage(null, new FullRevision(1, 1, 0, 1), 8)); list.add(new MockToolPackage(null, new FullRevision(2, 1, 1, 0), 8)); list.add(new MockToolPackage(null, new FullRevision(2, 1, 1, 1), 8)); Collections.sort(list); assertEquals( "[Android SDK Tools, revision 1, " + "Android SDK Tools, revision 1 rc1, " + "Android SDK Tools, revision 1.0.1, " + "Android SDK Tools, revision 1.0.1 rc1, " + "Android SDK Tools, revision 1.1, " + "Android SDK Tools, revision 1.1 rc1, " + "Android SDK Tools, revision 2.1.1, " + "Android SDK Tools, revision 2.1.1 rc1]", Arrays.toString(list.toArray())); } }