platformsuitabilityfiltertests.java.svn-base

来自「cqME :java framework for TCK test.」· SVN-BASE 代码 · 共 255 行

SVN-BASE
255
字号
/* * $Id$ * * Copyright 1996-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). * * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. * */package com.sun.tck.j2me.platform;import java.util.Properties;import com.sun.javatest.TestDescription;import com.sun.javatest.TestEnvironment;import com.sun.javatest.TestFilter;import com.sun.javatest.TestFilter.Fault;import com.sun.tck.unitTests.lib.TdUtils;import com.sun.tck.unitTests.lib.TestEnvUtils;import junit.framework.TestCase;public class PlatformSuitabilityFilterTests extends TestCase {    TestFilter[] filters;    private TestEnvironment midpTestEnv;    private PlatformSuitabilityFilter midpFilter;    private TestEnvironment cldcTestEnv;    private PlatformSuitabilityFilter cldcFilter;    private TestEnvironment cdcTestEnv;    private PlatformSuitabilityFilter cdcFilter;;    private TestEnvironment customTestEnv;    private PlatformSuitabilityFilter customFilter;    private TestEnvironment invalidTestEnv;    private PlatformSuitabilityFilter invalidEnvFilter;    public static void main(String[] args) {        junit.textui.TestRunner.run(PlatformSuitabilityFilterTests.class);    }    protected void setUp() throws Exception {        super.setUp();        Properties props = new Properties();        props.setProperty(BasePlatformInfo.PLATFORM_KEY, "MIDP");        midpTestEnv = TestEnvUtils.createTestEnv(props);        midpFilter = new PlatformSuitabilityFilter(midpTestEnv);        props.setProperty(BasePlatformInfo.PLATFORM_KEY, "CLDC");        cldcTestEnv = TestEnvUtils.createTestEnv(props);        cldcFilter = new PlatformSuitabilityFilter(cldcTestEnv);        props.setProperty(BasePlatformInfo.PLATFORM_KEY, "CDC");        cdcTestEnv = TestEnvUtils.createTestEnv(props);        cdcFilter = new PlatformSuitabilityFilter(cdcTestEnv);        props.setProperty(BasePlatformInfo.PLATFORM_KEY, "CUSTOM_MODE");        customTestEnv = TestEnvUtils.createTestEnv(props);        customFilter = new PlatformSuitabilityFilter(customTestEnv);        invalidTestEnv = TestEnvUtils.createTestEnv(new Properties());        invalidEnvFilter = new PlatformSuitabilityFilter(invalidTestEnv);        filters = new TestFilter[5];        filters[0] = midpFilter;        filters[1] = cldcFilter;        filters[2] = cdcFilter;        filters[3] = customFilter;        filters[4] = invalidEnvFilter;    }    protected void tearDown() throws Exception {        super.tearDown();    }    /*     * Tests for constructor. Ctor should never fail.     */    public void testPlatformSuitabilityFilter() {        for (int i = 0; i < filters.length; i++) {            assertNotNull(filters[i]);        }    }    public void testGetName() {        for (int i = 0; i < filters.length; i++) {            assertNotNull(filters[i].getName());        }    }    public void testGetDescription() {        for (int i = 0; i < filters.length; i++) {            assertNotNull(filters[i].getDescription());        }    }    public void testGetReason() {        for (int i = 0; i < filters.length; i++) {            assertNotNull(filters[i].getReason());        }    }    /*     * Use case: platforms specified explicitly in the test.     */    public void testAcceptsTestDescriptionWithExplicitPlatforms()            throws TestFilter.Fault {        TestDescription tdForAllPlatforms = TdUtils.createWithProps(                new Properties());        for (int i = 0; i < filters.length; i++) {            assertTrue(filters[i].accepts(tdForAllPlatforms));        }        Properties props = new Properties();        props.setProperty(                PlatformSuitabilityFilter.SUITABLE_PLATFORM_KEY,                "midp, cdc, cldc");        tdForAllPlatforms = TdUtils.createWithProps(new Properties());        for (int i = 0; i < filters.length; i++) {            assertTrue(filters[i].accepts(tdForAllPlatforms));        }        props.setProperty(                PlatformSuitabilityFilter.SUITABLE_PLATFORM_KEY,                "midp, cldc");        TestDescription tdForMidpCldc = TdUtils.createWithProps(props);        assertTrue(midpFilter.accepts(tdForMidpCldc));        assertTrue(cldcFilter.accepts(tdForMidpCldc));        // filter with invalid env permits everything        assertTrue(invalidEnvFilter.accepts(tdForMidpCldc));        assertFalse(cdcFilter.accepts(tdForMidpCldc));        assertFalse(customFilter.accepts(tdForMidpCldc));    }    /*     * Use case: trusted-untrusted without specified platforms.     */    public void testAcceptsTestDescriptionWithTrustedUntrustedKw()            throws TestFilter.Fault {        Properties props;        props = new Properties();        props.setProperty("keywords", "trusted");        TestDescription tdTrusted = TdUtils.createWithProps(props);        props.setProperty("keywords", "untrusted");        TestDescription tdUntrusted = TdUtils.createWithProps(props);        assertTrue(midpFilter.accepts(tdTrusted));        assertTrue(midpFilter.accepts(tdUntrusted));        // filter with invalid env permits everything        assertTrue(invalidEnvFilter.accepts(tdTrusted));        assertTrue(invalidEnvFilter.accepts(tdUntrusted));        assertFalse(cldcFilter.accepts(tdTrusted));        assertFalse(cldcFilter.accepts(tdUntrusted));        assertFalse(cdcFilter.accepts(tdTrusted));        assertFalse(cdcFilter.accepts(tdUntrusted));        assertFalse(customFilter.accepts(tdTrusted));        assertFalse(customFilter.accepts(tdUntrusted));    }    /*     * Use case: trusted-untrusted with explicitly specified platforms.     */    public void testAcceptsTestDescriptionWithTrustedUntrustedKwAndPlatforms()            throws TestFilter.Fault {        Properties props;        props = new Properties();        props.setProperty("keywords", "trusted");        props.setProperty(                PlatformSuitabilityFilter.SUITABLE_PLATFORM_KEY,                "midp, cldc");        TestDescription tdTrusted = TdUtils.createWithProps(props);        props.setProperty("keywords", "untrusted");        TestDescription tdUntrusted = TdUtils.createWithProps(props);        assertTrue(midpFilter.accepts(tdTrusted));        assertTrue(midpFilter.accepts(tdUntrusted));        // filter with invalid env permits everything        assertTrue(invalidEnvFilter.accepts(tdTrusted));        assertTrue(invalidEnvFilter.accepts(tdUntrusted));        assertTrue(cldcFilter.accepts(tdTrusted));        assertTrue(cldcFilter.accepts(tdUntrusted));        assertFalse(cdcFilter.accepts(tdTrusted));        assertFalse(cdcFilter.accepts(tdUntrusted));        assertFalse(customFilter.accepts(tdTrusted));        assertFalse(customFilter.accepts(tdUntrusted));    }    /*     * Use case: trusted-untrusted with explicitly specified platforms, but no     * MIDP among them. Midp filter should reject such tests, since MIDP is     * not specified among applicable platforms.     */    public void testAcceptsTestDescriptionWithTrustedUntrustedKwAndPlatformsButNoMidp()            throws TestFilter.Fault {        Properties props;        props = new Properties();        props.setProperty("keywords", "trusted");        props.setProperty(                PlatformSuitabilityFilter.SUITABLE_PLATFORM_KEY,                "cdc, cldc");  // no midp!        TestDescription tdTrusted = TdUtils.createWithProps(props);        props.setProperty("keywords", "untrusted");        TestDescription tdUntrusted = TdUtils.createWithProps(props);        // main check:        assertFalse(midpFilter.accepts(tdTrusted));        assertFalse(midpFilter.accepts(tdUntrusted));        // filter with invalid env permits everything        assertTrue(invalidEnvFilter.accepts(tdTrusted));        assertTrue(invalidEnvFilter.accepts(tdUntrusted));        assertTrue(cldcFilter.accepts(tdTrusted));        assertTrue(cldcFilter.accepts(tdUntrusted));        assertTrue(cdcFilter.accepts(tdTrusted));        assertTrue(cdcFilter.accepts(tdUntrusted));        assertFalse(customFilter.accepts(tdTrusted));        assertFalse(customFilter.accepts(tdUntrusted));    }    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?