# Path: mamba/runnable.py
# class ExecutionContext(object):
# class Runnable(object):
#     def __init__(self, parent=None, tags=None):
#     def execute(self, reporter, context, tags=None):
#     def has_tag(self, tag):
#     def included_in_execution(self, tags):
#     def failed(self):
#     def fail(self):
# 
# Path: mamba/example.py
# class PendingExample(Example):
#     def execute(self, reporter, execution_context, tags=None):
#         reporter.example_pending(self)


import copy
from datetime import datetime
from mamba import runnable
from mamba.example import PendingExample
        self.elapsed_time = datetime.utcnow() - self._begin
        reporter.example_group_finished(self)

    @property
    def name(self):
        return self.description.split('--')[0]

    def append(self, example):
        self.examples.append(example)
        example.parent = self

    def failed(self):
        return any(example.failed() for example in self.examples)

    def fail(self):
        super(ExampleGroup, self).fail()

        for example in self.examples:
            example.fail()


class PendingExampleGroup(ExampleGroup):

    def execute(self, reporter, execution_context, tags=None):
        reporter.example_group_pending(self)

        for example in self:
            example.execute(reporter, copy.copy(execution_context))

    def append(self, example):

# Path: mamba/runnable.py
# class ExecutionContext(object):
# class Runnable(object):
#     def __init__(self, parent=None, tags=None):
#     def execute(self, reporter, context, tags=None):
#     def has_tag(self, tag):
#     def included_in_execution(self, tags):
#     def failed(self):
#     def fail(self):
# 
# Path: mamba/example.py
# class PendingExample(Example):
#     def execute(self, reporter, execution_context, tags=None):
#         reporter.example_pending(self)


# Path: mamba/example_group.py
import copy
from datetime import datetime
from mamba import runnable
from mamba.example import PendingExample

        self.elapsed_time = datetime.utcnow() - self._begin
        reporter.example_group_finished(self)

    @property
    def name(self):
        return self.description.split('--')[0]

    def append(self, example):
        self.examples.append(example)
        example.parent = self

    def failed(self):
        return any(example.failed() for example in self.examples)

    def fail(self):
        super(ExampleGroup, self).fail()

        for example in self.examples:
            example.fail()


class PendingExampleGroup(ExampleGroup):

    def execute(self, reporter, execution_context, tags=None):
        reporter.example_group_pending(self)

        for example in self:
            example.execute(reporter, copy.copy(execution_context))

    def append(self, example):

        if not type(example) in [PendingExample, PendingExampleGroup]: