def test_add_templates(self, read, createModel): with ModelData(AdHocExecution(), LocalDirectoryDataSource(None)) as data: read.return_value = 'css' data.set_note(createModel, 'word', False) read.return_value = '<card text>' data.add_templates(['e>r', 'r>e'], 'vocabulary') self.assertEqual(data._templates, [ Template('e>r', 'vocabulary', '<card text>', '<card text>'), Template('r>e', 'vocabulary', '<card text>', '<card text>') ])
def test_add_multi_parameterized_template(self, read, createModel): with ModelData(AdHocExecution(), LocalDirectoryDataSource(None)) as data: read.return_value = 'css' data.set_note(createModel, 'word', False) read.return_value = '{{Field (${ONE},${TWO})}}' data.add_parameter('ONE', ['a', 'b']) data.add_parameter('TWO', ['x', 'y']) data.add_templates(['e>r (${ONE},${TWO})', 'r>e (${ONE},${TWO})'], None) self.assertEqual(data._templates, [ Template('e>r (a,x)', None, '{{Field (a,x)}}', '{{Field (a,x)}}'), Template('r>e (a,x)', None, '{{Field (a,x)}}', '{{Field (a,x)}}'), Template('e>r (a,y)', None, '{{Field (a,y)}}', '{{Field (a,y)}}'), Template('r>e (a,y)', None, '{{Field (a,y)}}', '{{Field (a,y)}}'), Template('e>r (b,x)', None, '{{Field (b,x)}}', '{{Field (b,x)}}'), Template('r>e (b,x)', None, '{{Field (b,x)}}', '{{Field (b,x)}}'), Template('e>r (b,y)', None, '{{Field (b,y)}}', '{{Field (b,y)}}'), Template('r>e (b,y)', None, '{{Field (b,y)}}', '{{Field (b,y)}}') ])
def test_add_parameterized_template(self, read, createModel): with ModelData(AdHocExecution(), LocalDirectoryDataSource(None)) as data: read.return_value = 'css' data.set_note(createModel, 'word', False) read.return_value = '{{Field (${ONE})}}' data.add_parameter('ONE', ['a', 'b']) data.add_templates(['e>r (${ONE})'], 'vocabulary') self.assertEqual(data._templates, [ Template('e>r (a)', 'vocabulary', '{{Field (a)}}', '{{Field (a)}}'), Template('e>r (b)', 'vocabulary', '{{Field (b)}}', '{{Field (b)}}') ])
def test_set_cloze_note(self, read, editModel): read.return_value = None with ModelData(AdHocExecution(), LocalDirectoryDataSource(None)) as data: data.set_note(editModel, 'cloze', True) self.assertEqual(data._action, editModel) self.assertEqual(data._note, ('cloze', True, None)) self.assertEqual(data._templates, [Template('cloze', None, None, None)])
def test_add_parameterized_and_translated_template(self, read, createModel): with ModelData(AdHocExecution(), LocalDirectoryDataSource(None)) as data: read.return_value = 'css' data.set_note(createModel, 'word', False) read.return_value = '$${ONE} $${TWO}' data.add_parameter('ONE', ['a', 'b']) data.add_parameter('TWO', ['1', '2']) data.add_translation('ONE', ['x', 'y']) data.add_translation('TWO', ['i', 'ii']) data.add_templates(['e>r (${ONE}${TWO})'], 'vocabulary') self.assertEqual(data._templates, [ Template('e>r (a1)', 'vocabulary', 'x i', 'x i'), Template('e>r (a2)', 'vocabulary', 'x ii', 'x ii'), Template('e>r (b1)', 'vocabulary', 'y i', 'y i'), Template('e>r (b2)', 'vocabulary', 'y ii', 'y ii') ])