Esempio n. 1
0
    def test_decorators(self):
        program = Program(PROGRAM)

        assertEqual = self.assertEqual
        assertEqual('ANIMAL', program.run(Data(1, 'fish')).payload)
        assertEqual('ANIMAL', program.run(Data(1, 'cat')).payload)
        assertEqual('ANIMAL', program.run(Data(1, 'dog')).payload)
        assertEqual('something else', program.run(Data(1, 'flower')).payload)
        assertEqual('something else', program.run(Data(1, 'rock')).payload)
Esempio n. 2
0
    def test_to_dot_with_statistics(self):
        prog = self.program()

        prog.run(Data(id, 1))
        prog.run(Data(id, 2))
        prog.run(Data(id, 2))
        text = prog.to_dot(with_statistics=True)

        self.assertEqualText(TEST_TO_DOT_WITH_STATISTICS, text)
Esempio n. 3
0
    def test_rule_branch(self):
        # program: add 2 to value if odd, else leave it
        prog = m.Program(
            [
            m.IF (increase_if_odd),
                add1,
            m.ENDIF,
            m.RETURN_TRUE,
            ])

        self.assertEqualData(Data(id, 0), prog.run(Data(id, 0)))
        self.assertEqualData(Data(id, 3), prog.run(Data(id, 1)))
Esempio n. 4
0
    def test_branch(self):
        # program: convert an odd number to string 'odd',
        # an even number to 'even'
        prog = m.Program([
            m.IF (odd),
                const_odd,
            m.ELSE,
                const_even,
            m.ENDIF,
            m.RETURN_TRUE])

        self.assertEqualData(Data(id, 'even'), prog.run(Data(id, 0)))
        self.assertEqualData(Data(id, 'odd'), prog.run(Data(id, 1)))
Esempio n. 5
0
    def modify(self, record):

        for field_name in self.fields:
            Program(self.getTransforms() + [RETURN_TRUE]).run(
                Data(field_name, record.getField(field_name))).payload

        return record
Esempio n. 6
0
File: field.py Progetto: zz38/mETL
    def run(self):

        if self.getTransforms():
            Program(self.getTransforms() + [RETURN_TRUE]).run(
                Data(self.getName(), self)).payload

        if self.getType() != self.field_final_type:
            self.setType(self.field_final_type, hard=self.getValue() is None)
Esempio n. 7
0
 def run_and_expect_exception(self, prog):
     try:
         prog.run(Data(None, None))
     except WellKnownException:
         # expected
         return
     else:
         self.fail('expected a WellKnownException from prog.run!')
Esempio n. 8
0
    def test_multiple_use_of_instructions(self):
        # program: convert an odd number to string 'odd',
        # an even number to 'even'
        prog = m.Program([
            odd,
            m.IF (odd),
                odd,
                const_even,
                const_odd,
            m.ELSE,
                odd,
                const_odd,
                const_even,
            m.ENDIF,
            m.RETURN_TRUE])

        self.assertEqualData(Data(id, 'even'), prog.run(Data(id, 0)))
        self.assertEqualData(Data(id, 'odd'), prog.run(Data(id, 1)))
Esempio n. 9
0
    def test_rule(self):
        prog = m.Program([add1, m.RETURN_TRUE])

        self.assertEqualData(Data(id, 1), prog.run(Data(id, 0)))
        self.assertEqualData(Data(id, 2), prog.run(Data(id, 1)))