Package org.jbehave.core

Source Code of org.jbehave.core.Ensure

/*
* Created on 28-Dec-2003
*
* (c) 2003-2004 ThoughtWorks
*
* See license.txt for license details
*/
package org.jbehave.core;

import org.jbehave.core.exception.PendingException;
import org.jbehave.core.exception.VerificationException;
import org.jbehave.core.mock.Matcher;
import org.jbehave.core.mock.UsingMatchers;


/**
* @author <a href="mailto:dan@jbehave.org">Dan North</a>
* @author <a href="mailto:damian@jbehave.org">Damian Guy</a>
* @author <a href="mailto:manish@jbehave.org">Manish Shah</a>
* @author <a href="mailto:steve@m3p.co.uk">Steve Freeman</a>
*/
public class Ensure {
  private static final UsingMatchers matchers = new UsingMatchers() {};
 
    /** should not be subclassed for behaviour classes but can be extended to add methods to namespace */
    protected Ensure() {}

    /** Ensure.that(something, isBlah()) */
    public static void that(Object arg, Matcher matcher) {
      matchers.ensureThat(arg, matcher);
    }
   
    public static void that(Object arg, Matcher matcher, String message) {
      matchers.ensureThat(arg, matcher, message);
  }

  public static void that(long arg, Matcher matcher) {
    matchers.ensureThat(arg, matcher, null);
    }
  public static void that(long arg, Matcher matcher, String message) {
    matchers.ensureThat(arg, matcher, message);
  }
   
    public static void that(double arg, Matcher matcher) {
      matchers.ensureThat(arg, matcher, null);
    }
    public static void that(double arg, Matcher matcher, String message) {
      matchers.ensureThat(arg, matcher, message);
    }
   
    public static void that(char arg, Matcher matcher) {
      matchers.ensureThat(arg, matcher, null);
    }
    public static void that(char arg, Matcher matcher, String message) {
      matchers.ensureThat(arg, matcher, message);
    }
   
    public static void that(boolean arg, Matcher matcher) {
      matchers.ensureThat(arg, matcher);
    }
    public static void that(boolean arg, Matcher matcher, String message) {
      matchers.ensureThat(arg, matcher, message);
    }

    /** Ensure.that(...) without matchers */
    public static void that(String message, boolean condition) {
      matchers.ensureThat(condition, message);
    }

    /** Ensure.that(...) without matchers */
    public static void that(boolean condition) {
        matchers.ensureThat(condition, (String)null);
    }

    public static void not(String message, boolean condition) {
        Ensure.that(message, !condition);
    }
   
    public static void not(boolean condition) {
        Ensure.that(null, !condition);
    }

    /** like junit fail() */
  public static void impossible(String message) {
    matchers.fail(("\"Impossible\" behaviour: " + message));
  }
   
    // Verify.pending("...")
    public static void pending(String message) {
      matchers.todo(message);
    }
   
    public static void pending() {
        throw new PendingException();
    }
   
    // throws exception
    public static void throwsException(Class exceptionType, Block block) throws Exception {
        try {
            block.run();
            matchers.fail("should have thrown " + exceptionType.getName());
        }
        catch (Exception e) {
            if (!exceptionType.isAssignableFrom(e.getClass())) {
                throw e;
            }
        }
    }
   
    public static void doesNotThrowException(Block block) throws Exception {
        try {
            block.run();
        } catch (Exception e) {
            throw new VerificationException("Expected no exception", e);
        }
    }
   
    /** @deprecated use matchers */
    public static void instanceOf(Class type, Object instance) {
      String message = "should be instance of " + type.getName()
      + " but it is " + (instance == null ? "null" : instance.getClass().getName());
      that(message, type.isInstance(instance));
    }

    /** @deprecated use matchers */
    public static void equal(String message, boolean expected, boolean actual) {
        equal(message, Boolean.valueOf(expected), Boolean.valueOf(actual));
    }

    /** @deprecated use matchers */
    public static void equal(boolean expected, boolean actual) {
        equal(null, expected, actual);
    }

    /** @deprecated use matchers */
    public static void equal(String message, long expected, long actual) {
        if (expected != actual) {
            matchers.fail(message, new Long(expected), new Long(actual));
        }
    }

    /** @deprecated use matchers */
    public static void equal(long expected, long actual) {
        equal(null, expected, actual);
    }

    /** @deprecated use matchers */
    public static void equal(String message, double expected, double actual, double delta) {
        if (Math.abs(expected - actual) > delta) {
            matchers.fail(message, new Double(expected), new Double(actual));
        }
    }

    /** @deprecated use matchers */
    public static void equal(double expected, double actual, double delta) {
        equal(null, expected, actual, delta);
    }

    /** @deprecated use matchers */
    public static void equal(String message, Object expected, Object actual) {
        if (expected == null) {
            if (actual != null) {
              matchers.fail(message, expected, actual);
            }
        }
        else if (!expected.equals(actual)) {
            matchers.fail(message, expected, actual);
        }
    }

    /** @deprecated use matchers */
    public static void equal(Object expected, Object actual) {
        equal(null, expected, actual);
    }

    /** @deprecated use matchers */
  public static void sameInstance(String message, Object expected, Object actual) {
        if (expected != actual) matchers.fail(message, expected, actual);
  }
   
    /** @deprecated use matchers */
  public static void sameInstance(Object expected, Object actual) {
        sameInstance(null, expected, actual);
  }
   
    /** @deprecated use matchers */
  public static void identical(String message, Object expected, Object actual) {
        sameInstance(message, expected, actual);
  }
   
    /** @deprecated use matchers */
  public static void identical(Object expected, Object actual) {
        sameInstance(null, expected, actual);
  }
   
    /** @deprecated use matchers */
    public static void notNull(String message, Object actual) {
        not(message, actual == null);
    }

    /** @deprecated use matchers */
    public static void notNull(Object actual) {
        notNull(null, actual);
    }
}
TOP

Related Classes of org.jbehave.core.Ensure

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.