Package scenic3.tester

Source Code of scenic3.tester.PageTestCase

package scenic3.tester;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.After;
import org.junit.Before;

import scenic3.ScenicPage;
import scenic3.Urls;
import scenic3.UrlsImpl;

public abstract class PageTestCase {

    protected PageTester tester;

    /**
     * Default Constructor.
     * @deprecated use a constructor specify target AppUrls and PageClass
     */
    @Deprecated
    public PageTestCase() {
    }

    /**
     * Constructor.
     * <p>Test case construction fail when target AppUrls don't support target PageClass.</p>
     * @param appUrlClass class object of implementation of {@link Urls} such as AppUrls
     * @param pageClass class object of PageClass
     */
    public PageTestCase(Class<? extends UrlsImpl> appUrlClass, Class<? extends ScenicPage> pageClass) {
        assertAppUrls(appUrlClass, pageClass);
    }
   
    @Before
    public void setUp() throws Exception {
        tester = new PageTester(getClass());
        tester.setUp();
    }

    @After
    public void tearDown() throws Exception {
        tester.tearDown();
    }
      
    /**
     *
     * @param appUrlClass
     * @param pageClass
     * @since 0.5.0
     */
    public static void assertAppUrls(Class<? extends UrlsImpl> appUrlClass, Class<? extends ScenicPage> pageClass) {
        try {
            UrlsImpl urls = appUrlClass.newInstance();
            Assert.assertTrue(appUrlClass.getName() + " doesn't contain " + pageClass.getName(),
                    urls.isSupport(pageClass));
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }

}
TOP

Related Classes of scenic3.tester.PageTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.