alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Java example source code file (AbstractTester.java)

This example Java source code file (AbstractTester.java) is included in the alvinalexander.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Learn more about this Java project at its project page.

Java - Java tags/keywords

abstracttester, exception, gwtcompatible, override, runnable, string, testcase

The AbstractTester.java Java example source code

/*
 * Copyright (C) 2008 The Guava Authors
 *
 * 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.google.common.collect.testing;

import com.google.common.annotations.GwtCompatible;

import junit.framework.TestCase;

/**
 * This abstract base class for testers allows the framework to inject needed
 * information after JUnit constructs the instances.
 *
 * <p>This class is emulated in GWT.
 *
 * @param <G> the type of the test generator required by this tester. An
 * instance of G should somehow provide an instance of the class under test,
 * plus any other information required to parameterize the test.
 *
 * @author George van den Driessche
 */
@GwtCompatible
public class AbstractTester<G> extends TestCase {
  private G subjectGenerator;
  private String suiteName;
  private Runnable setUp;
  private Runnable tearDown;

  // public so that it can be referenced in generated GWT tests.
  @Override
  public void setUp() throws Exception {
    if (setUp != null) {
      setUp.run();
    }
  }

  // public so that it can be referenced in generated GWT tests.
  @Override
  public void tearDown() throws Exception {
    if (tearDown != null) {
      tearDown.run();
    }
  }

  // public so that it can be referenced in generated GWT tests.
  public final void init(G subjectGenerator, String suiteName, Runnable setUp, Runnable tearDown) {
    this.subjectGenerator = subjectGenerator;
    this.suiteName = suiteName;
    this.setUp = setUp;
    this.tearDown = tearDown;
  }

  // public so that it can be referenced in generated GWT tests.
  public final void init(G subjectGenerator, String suiteName) {
    init(subjectGenerator, suiteName, null, null);
  }

  public G getSubjectGenerator() {
    return subjectGenerator;
  }

  /** Returns the name of the test method invoked by this test instance. */
  public final String getTestMethodName() {
    return super.getName();
  }

  @Override
  public String getName() {
    return Platform.format("%s[%s]", super.getName(), suiteName);
  }
}

Other Java examples (source code examples)

Here is a short list of links related to this Java AbstractTester.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.