Esempio n. 1
0
 def test_parsing_without_separators(self):
     rules.reset_rules()
     rules.add_rule('lights',
                    '{category}{function}{whatAffects}{digits}{type}')
     name = 'dramatic_bounce_chars_001_LGT'
     parsed = n.parse(name)
     assert parsed is None
Esempio n. 2
0
    def test_remove_rule(self):
        rules.add_rule('test', '{category}_{function}_{digits}_{type}')
        result = rules.remove_rule('test')
        assert result is True

        result = rules.remove_rule('test2')
        assert result is False
Esempio n. 3
0
 def setup(self):
     tokens.reset_tokens()
     tokens.add_token('whatAffects')
     tokens.add_token_number('digits')
     tokens.add_token('category',
                      natural='natural',
                      practical='practical',
                      dramatic='dramatic',
                      volumetric='volumetric',
                      default='natural')
     tokens.add_token('function',
                      key='key',
                      fill='fill',
                      ambient='ambient',
                      bounce='bounce',
                      rim='rim',
                      custom='custom',
                      kick='kick',
                      default='custom')
     tokens.add_token('type',
                      lighting='LGT',
                      animation='ANI',
                      default='lighting')
     rules.reset_rules()
     rules.add_rule('lights',
                    '{category}_{function}_{whatAffects}_{digits}_{type}')
Esempio n. 4
0
    def test_parse_anchoring_start(self):
        rules.reset_rules()
        rules.add_rule('anchoring', '{awesometoken}_crazy_hardcoded_value',
                       rules.Rule.ANCHOR_START)

        name = 'hello_crazy_hardcoded_value'
        parsed = n.parse(name)
        assert parsed == {'awesometoken': 'hello'}
Esempio n. 5
0
    def test_parse_anchoring_end(self):
        rules.reset_rules()
        rules.add_rule('anchoring', 'crazy_hardcoded_value_{awesometoken}',
                       rules.Rule.ANCHOR_END)

        name = 'crazy_hardcoded_value_bye'
        parsed = n.parse(name)
        assert parsed == {'awesometoken': 'bye'}
Esempio n. 6
0
    def test_solve_anchoring_start(self):
        rules.reset_rules()
        rules.add_rule('anchoring', '{awesometoken}_crazy_hardcoded_value',
                       rules.Rule.ANCHOR_START)

        name = 'hello_crazy_hardcoded_value'
        solved = n.solve(awesometoken='hello')
        assert solved == name
Esempio n. 7
0
    def test_solve_anchoring_end(self):
        rules.reset_rules()
        rules.add_rule('anchoring', 'crazy_hardcoded_value_{awesometoken}',
                       rules.Rule.ANCHOR_END)

        name = 'crazy_hardcoded_value_bye'
        solved = n.solve('bye')
        assert solved == name
Esempio n. 8
0
    def test_parse_anchoring_both(self):
        rules.reset_rules()
        rules.add_rule('anchoring',
                       '{awesometoken}_crazy_hardcoded_value_{awesometoken}',
                       rules.Rule.ANCHOR_BOTH)

        name = 'hello_crazy_hardcoded_value_bye'
        parsed = n.parse(name)
        assert parsed == {'awesometoken1': 'hello', 'awesometoken2': 'bye'}
Esempio n. 9
0
    def test_solve_anchoring_both(self):
        rules.reset_rules()
        rules.add_rule('anchoring',
                       '{awesometoken}_crazy_hardcoded_value_{awesometoken}',
                       rules.Rule.ANCHOR_BOTH)

        name = 'hello_crazy_hardcoded_value_bye'
        solved = n.solve(awesometoken1='hello', awesometoken2='bye')
        assert solved == name
Esempio n. 10
0
 def test_active(self):
     # pattern = '{category}_{function}_{digits}_{type}'
     rules.add_rule(
         'lights',
         '{category}_{function}_{whatAffects}_{digits}_{type}'
     )
     rules.add_rule('test', '{category}_{function}_{digits}_{type}')
     rules.set_active_rule('test')
     result = rules.get_active_rule()
     assert result is not None
Esempio n. 11
0
 def test_parsing_with_separators(self):
     rules.reset_rules()
     rules.add_rule('lights',
                    '{category}_{function}_{whatAffects}_{digits}_{type}')
     name = 'dramatic_bounce_chars_001_LGT'
     parsed = n.parse(name)
     assert parsed['category'] == 'dramatic'
     assert parsed['function'] == 'bounce'
     assert parsed['whatAffects'] == 'chars'
     assert parsed['digits'] == 1
     assert parsed['type'] == 'lighting'
Esempio n. 12
0
    def test_save_load_rule(self):
        rules.add_rule('test',
                       '{category}_{function}_{whatAffects}_{digits}_{type}')
        tempdir = tempfile.mkdtemp()
        rules.save_rule('test', tempdir)

        rules.reset_rules()
        file_name = "{}.rule".format('test')
        filepath = os.path.join(tempdir, file_name)
        rules.load_rule(filepath)
        assert rules.has_rule('test') is True
Esempio n. 13
0
 def setup(self):
     tokens.reset_tokens()
     rules.reset_rules()
     tokens.add_token('side',
                      center='C',
                      left='L',
                      right='R',
                      default='center')
     tokens.add_token('region',
                      orbital="ORBI",
                      parotidmasseter="PAROT",
                      mental="MENT",
                      frontal="FRONT",
                      zygomatic="ZYGO",
                      retromandibularfossa="RETMAND")
     rules.add_rule("filename",
                    '{side}-{region}_{side}-{region}_{side}-{region}')
Esempio n. 14
0
    def test_save_load_session(self):
        tokens.add_token('whatAffects')
        tokens.add_token_number('digits')
        tokens.add_token('category',
                         natural='natural',
                         practical='practical',
                         dramatic='dramatic',
                         volumetric='volumetric',
                         default='natural')
        tokens.add_token('function',
                         key='key',
                         fill='fill',
                         ambient='ambient',
                         bounce='bounce',
                         rim='rim',
                         custom='custom',
                         kick='kick',
                         default='custom')
        tokens.add_token('type',
                         lighting='LGT',
                         animation='ANI',
                         default='lighting')
        rules.add_rule('lights',
                       '{category}.{function}.{whatAffects}.{digits}.{type}')
        rules.add_rule('test', '{category}_{function}')
        rules.set_active_rule('lights')

        repo = tempfile.mkdtemp()
        save_result = n.save_session(repo)
        assert save_result is True

        rules.reset_rules()
        tokens.reset_tokens()

        n.load_session(repo)
        assert tokens.has_token('whatAffects') is True
        assert tokens.has_token('digits') is True
        assert tokens.has_token('category') is True
        assert tokens.has_token('function') is True
        assert tokens.has_token('type') is True
        assert rules.has_rule('lights') is True
        assert rules.has_rule('test') is True
        assert rules.get_active_rule().name == 'lights'
Esempio n. 15
0
    def test_validation(self):
        token = tokens.add_token('function',
                                 key='key',
                                 fill='fill',
                                 ambient='ambient',
                                 bounce='bounce',
                                 rim='rim',
                                 custom='custom',
                                 kick='kick',
                                 default='custom')
        rule = rules.add_rule(
            'lights', '{category}_{function}_{whatAffects}_{digits}_{type}')
        tokens.add_token_number('digits')

        assert rules.Rule.from_data(token.data()) is None
        assert tokens.Token.from_data(rule.data()) is None
Esempio n. 16
0
 def test_add(self):
     result = rules.add_rule(
         'lights',
         '{category}_{function}_{whatAffects}_{digits}_{type}'
     )
     assert isinstance(result, rules.Rule) is True
Esempio n. 17
0
 def test_rules(self):
     rule1 = rules.add_rule(
         'lights', '{category}_{function}_{whatAffects}_{digits}_{type}')
     rule2 = rules.Rule.from_data(rule1.data())
     assert rule1.data() == rule2.data()