Example #1
0
 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>')
         ])
Example #2
0
 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)}}')
         ])
Example #3
0
 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)}}')
         ])
Example #4
0
 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)])
Example #5
0
 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')
         ])