Exemplo n.º 1
0
    def test_pipeline_stop_on_exception_filter(self):
        data = AssemblerState()

        assembler = Assembler("Fail test").set_validator(InputValidator())
        assembler.set_estimator(HelloStage(), [BadFilter()], [PostFilter()])

        # This should fail to execute HelloStage
        assembler.run(data)

        self.assertIsNone(data.text)
        self.assertFalse(data.post_filter_ran)
Exemplo n.º 2
0
    def test_pipeline_stop_on_error_estimator(self):
        data = AssemblerState()
        data.estimator_add_error = True

        assembler = Assembler("Fail test").set_validator(InputValidator())
        assembler.set_estimator(HelloStage(), [], [PostFilter()])

        # This should fail to execute PostFilter
        assembler.run(data)

        self.assertFalse(data.post_filter_ran)
Exemplo n.º 3
0
    def test_pipeline_stop_on_error_filter(self):
        # Use the errors list in state instead
        data = AssemblerState()
        data.use_errors_instead = True

        assembler = Assembler("Fail test").set_validator(InputValidator())
        assembler.set_estimator(HelloStage(), [BadFilter()], [PostFilter()])

        # This should fail to execute HelloStage & PostFilter
        assembler.run(data)

        self.assertIsNone(data.text)
        self.assertFalse(data.post_filter_ran)
Exemplo n.º 4
0
from surround import Assembler
from stages import AddWorld, AddHello, AddSurround, BasicData, ValidateData

if __name__ == "__main__":
    data = BasicData()

    assembler = Assembler("Pre Post Example", ValidateData())
    assembler.set_estimator(AddWorld(), [AddHello()], [AddSurround()])
    assembler.run(data)

    print("Text is '%s'" % data.text)
Exemplo n.º 5
0
        print("Not training implementation")


class AssemblerState(State):
    text = None


class InputValidator(Validator):
    def validate(self, state, config):
        if state.text:
            raise ValueError("'text' is not None")


if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO)

    path = os.path.dirname(os.path.realpath(__file__))

    app_config = Config()
    app_config.read_config_files([path + "/config.yaml"])
    assembler = Assembler("Dump output example")
    assembler.set_validator(InputValidator())
    assembler.set_config(app_config)
    assembler.set_estimator(WriteWorld(path), [WriteHello(path)])
    assembler.run(AssemblerState())

    print("Hello output.txt contains '%s'" %
          open(path + hello_file_path, "r").read())
    print("World output.txt contains '%s'" %
          open(path + world_file_path, "r").read())
Exemplo n.º 6
0
class AssemblerState(State):
    training_message = None
    text = None


class Formatter(Visualiser):
    def visualise(self, state, config):
        print("Visualiser result: %s" % state.training_message)


if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO)
    data = AssemblerState()
    assembler = Assembler("Training example")
    assembler.set_validator(InputValidator())
    assembler.set_estimator(HelloWorld())
    assembler.init_assembler(True)
    assembler.set_visualiser(Formatter())

    # Run assembler before training
    assembler.run(data)
    print("Text before training is '%s'" % data.text)
    data.text = None  # Clear text to prevent validation raising error

    # Run training mode
    assembler.run(data, True)

    # Run assembler after training
    assembler.run(data)
    print("Text after training is '%s'" % data.text)
Exemplo n.º 7
0
 def test_assembler_init_fail(self):
     assembler = Assembler("Fail test").set_validator(InputValidator())
     assembler.set_estimator(HelloStage(), [BadFilter()])
     self.assertFalse(assembler.init_assembler())