def test_novel_serialized(self): scode0 = SCode(None, SCmd.BE, (), '') scode1 = SCode(None, SCmd.INFO_DATA, (), '') data = [ # (src, expect) (True, Chapter('a', Episode('b', Scene('c', scode0))), 1), (True, Chapter('a', scode1, Episode('b', Scene('c', scode0))), 2), ] validate_with_fail( self, 'novel_serialized', lambda src, expect: self.assertEqual( len(sl.Serializer()._novel_serialized(src)), expect), data)
def test_is_empty_script(self): data = [ # (src, expect[bool]) (True, SCode(None, SCmd.BE, ('&',), ""), True), ] validate_with_fail(self, 'is_empty_script', lambda src, expect: self.assertEqual( ck.Checker().is_empty_script(src), expect), data)
def test_has_then(self): data = [ # (src, expect[bool]) (True, SCode(None, SCmd.THEN, (),""), True), ] validate_with_fail(self, 'has_then', lambda src, expect: self.assertEqual( ck.Checker().has_then(src), expect), data)
def test_conv_to_novel(self): data = [ # (src, is_cmt, expect) (True, CodeList(*[SCode(None, SCmd.BE, ('太郎', ), '')]), False, (FormatTag.DESCRIPTION_HEAD, ' 太郎。', '\n')), ] validate_with_fail( self, 'conv_to_novel', lambda src, is_cmt, expect: self.assertEqual( cp.Compiler()._conv_to_novel(src, is_cmt).data, expect), data)
def _inserted_after_storyinfo(self, src: Story, infos: list) -> Story: assertion.is_instance(src, Story) LOG.debug(f'- info in inserted_after_storyinfo:{infos}') tmp = [] for child in src.children: if isinstance(child, SCode) and child.cmd is SCmd.INFO_STORY: tmp.append(child) for info in infos: tmp.append(SCode(None, SCmd.INFO_DATA, (info,), "")) else: tmp.append(child) return src.inherited(*tmp)
def test_conv_from_tag(self): data = [ # (src, head, nums, is_cmt, is_plot, is_data, in_mate, expect, exp_nums) (True, SCode(None, SCmd.TAG_BR, (), ''), '#', (1, 1, 1), True, False, False, False, '\n\n', (1, 1, 1)), ] def checker(src, head, nums, is_cmt, is_plot, is_data, in_mate, expect, exp_nums): tmp = cp.Compiler()._conv_from_tag(src, head, nums, is_cmt, is_plot, is_data, in_mate) self.assertEqual(tmp[0], expect) self.assertEqual(tmp[1], exp_nums) validate_with_fail(self, 'conv_from_tag', checker, data)