File size: 858 Bytes
795f737
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import unittest
from baim.synthetic import generate, render, TRAIN_TEMPLATES, TEST_TEMPLATES


class SyntheticTests(unittest.TestCase):
    def test_split_templates_are_disjoint_and_reproducible(self):
        self.assertFalse(set(TRAIN_TEMPLATES) & set(TEST_TEMPLATES))
        self.assertEqual(list(generate('train',8,1)),list(generate('train',8,1)))
        self.assertNotEqual(list(generate('train',8,1)),list(generate('train',8,2)))

    def test_target_label_matches_role(self):
        for row in generate('train',100,9):
            role = row['elements'][row['target']]['role']
            expected = {'C':{'button','link'},'T':{'textbox'},'O':{'combobox'}}[row['action']]
            self.assertIn(role,expected)
            self.assertIn(row['elements'][row['target']]['name'],row['goal'])
            self.assertIn('<!doctype html>',render(row))