コード例 #1
0
def for_class(XXX):
    from seed.helper.print_methods import wrapped_print_methods
    wrapped_print_methods(XXX)

    from seed.helper.detect_method_conflict import \
        wrapped_print_detect_method_conflict
    wrapped_print_detect_method_conflict(XXX)

    from seed.helper.find_bases_without_slots import print_bases_without_slots
    print_bases_without_slots(XXX)
コード例 #2
0
    @override
    def astate_eq(ops, self, lhs_astate, rhs_astate):
        return lhs_astate == rhs_astate

    @override
    def make_astate_dict(ops, self, other_or_astate_value_pairs=None):
        if other_or_astate_value_pairs is None:
            return {}
        return dict(other_or_astate_value_pairs)

    @override
    def make_astate_set(ops, self, astates=None):
        if astates is None:
            return set()
        return set(astates)


if __name__ == '__main__':
    XXX = IFAOps__hashable_astate

    from seed.helper.print_methods import wrapped_print_methods
    wrapped_print_methods(XXX)

    from seed.helper.detect_method_conflict import \
        wrapped_print_detect_method_conflict
    wrapped_print_detect_method_conflict(XXX)

    from seed.helper.find_bases_without_slots import print_bases_without_slots
    print_bases_without_slots(XXX)
コード例 #3
0
def doctest_all(
        package_or_qname,
        *,
        recursive: bool,
        list_qnames=False  # module_qual_name
    ,
        list_classes_without_slots=True,
        filter_classes_if_defined_in_this_module=True
    # when list_classes_without_slots is True
    ,
        **kwargs) -> None:
    '''
input:
    package_or_qname :: pkg_obj | str
    recursive :: bool

    kwargs
        see: doctest.testmod(m, verbose=None, report=True, optionflags=0, raise_on_error=False, exclude_empty=False)
output:
    does_success

'''
    list_qnames = bool(list_qnames)
    list_classes_without_slots = bool(list_classes_without_slots)
    filter_classes_if_defined_in_this_module = bool(
        filter_classes_if_defined_in_this_module)

    if list_qnames:

        def show_qname(m):
            print(m.__name__)
    else:

        def show_qname(m):
            pass

    if list_classes_without_slots:
        classes = set()
        if not filter_classes_if_defined_in_this_module:

            def collect_classes_of_module(m):
                classes.update(iter_classes_of_module(m))
        else:

            def collect_classes_of_module(m):
                classes.update(cls for cls in iter_classes_of_module(m)
                               if is_defined_in(cls, m))
    else:

        def collect_classes_of_module(m):
            pass

    for m in iter_submodules(package_or_qname, recursive=recursive):
        collect_classes_of_module(m)
        show_qname(m)
        (failure_count, test_count) = testmod(m, **kwargs)
        if failure_count:
            return False

    if list_classes_without_slots:
        # tuple may be introduced by namedtuple
        print_bases_without_slots(*classes)
    return True