NAME
    Test::Moose::More - More tools for testing Moose packages

VERSION
    This document describes version 0.011 of Test::Moose::More - released
    August 26, 2012 as part of Test-Moose-More.

SYNOPSIS
        use Test::Moose::More;

        is_class 'Some::Class';
        is_role  'Some::Role';
        has_method_ok 'Some::Class', 'foo';

        # ... etc

DESCRIPTION
    This package contains a number of additional tests that can be employed
    against Moose classes/roles. It is intended to replace Test::Moose in
    your tests, and reexports any tests that it has and we do not, yet.

FUNCTIONS
  known_sugar
    Returns a list of all the known standard Moose sugar (has, extends,
    etc).

TEST_FUNCTIONS
  meta_ok $thing
    Tests $thing to see if it has a metaclass; $thing may be the class name
    or instance of the class you wish to check.

  does_ok $thing, < $role | \@roles >, [ $message ]
    Checks to see if $thing does the given roles. $thing may be the class
    name or instance of the class you wish to check.

    Note that the message will be taken verbatim unless it contains %s
    somewhere; this will be replaced with the name of the role being tested
    for.

  does_not_ok $thing, < $role | \@roles >, [ $message ]
    Checks to see if $thing does not do the given roles. $thing may be the
    class name or instance of the class you wish to check.

    Note that the message will be taken verbatim unless it contains %s
    somewhere; this will be replaced with the name of the role being tested
    for.

  has_attribute_ok $thing, $attribute_name, [ $message ]
    Checks $thing for an attribute named $attribute_name; $thing may be a
    class name, instance, or role name.

  has_method_ok $thing, @methods
    Queries $thing's metaclass to see if $thing has the methods named in
    @methods.

  requires_method_ok $thing, @methods
    Queries $thing's metaclass to see if $thing requires the methods named
    in @methods.

    Note that this really only makes sense if $thing is a role.

  is_role $thing
    Passes if $thing's metaclass is a Moose::Meta::Role.

  is_class $thing
    Passes if $thing's metaclass is a Moose::Meta::Class.

  check_sugar_removed_ok $thing
    Ensures that all the standard Moose sugar is no longer directly callable
    on a given package.

  check_sugar_ok $thing
    Checks and makes sure a class/etc can still do all the standard Moose
    sugar.

  validate_thing
    Runs a bunch of tests against the given $thing, as defined:

        validate_class $thing => (

            attributes => [ ... ],
            methods    => [ ... ],
            isa        => [ ... ],

            # ensures $thing does these roles
            does       => [ ... ],

            # ensures $thing does not do these roles
            does_not   => [ ... ],
        );

    $thing can be the name of a role or class, an object instance, or a
    metaclass.

  validate_role
    The same as validate_thing(), but ensures $thing is a role, and allows
    for additional role-specific tests.

        validate_role $thing => (

            required_methods => [ ... ],

            # ...and all other options from validate_thing()

  validate_class
    The same as validate_thing(), but ensures $thing is a class, and allows
    for additional class-specific tests.

SEE ALSO
    Please see those modules/websites for more information related to this
    module.

    *   Test::Moose

SOURCE
    The development version is on github at
    <http://github.com/RsrchBoy/test-moose-more> and may be cloned from
    <git://github.com/RsrchBoy/test-moose-more.git>

BUGS
    Please report any bugs or feature requests on the bugtracker website
    https://github.com/RsrchBoy/test-moose-more/issues

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

AUTHOR
    Chris Weyl <cweyl@alumni.drew.edu>

COPYRIGHT AND LICENSE
    This software is Copyright (c) 2012 by Chris Weyl.

    This is free software, licensed under:

      The GNU Lesser General Public License, Version 2.1, February 1999

