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
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
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}')
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'}
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'}
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
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
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'}
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
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
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'
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
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}')
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'
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
def test_add(self): result = rules.add_rule( 'lights', '{category}_{function}_{whatAffects}_{digits}_{type}' ) assert isinstance(result, rules.Rule) is True
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()