예제 #1
0
    def test_selector_prod_nonempty(self):
        s = Selector.prod(Selector('/x'), Selector('[0,1]'))
        self.assertEqual(len(s), 2)
        self.assertTrue(s.nonempty)
        self.assertEqual(s.expanded, (('x', 0), ('x', 1)))
        self.assertEqual(s.max_levels, 2)
        self.assertEqual(s.str, '/x/0,/x/1')

        s = Selector.prod(Selector('/x[0:2]'), Selector('[a,b,c]'))
        self.assertEqual(len(s), 6)
        self.assertTrue(s.nonempty)
        self.assertEqual(s.expanded, (('x', 0, 'a'), ('x', 0, 'b'), ('x', 0, 'c'),
                              ('x', 1, 'a'), ('x', 1, 'b'), ('x', 1, 'c')))
        self.assertEqual(s.str, '/x/0/a,/x/0/b,/x/0/c,/x/1/a,/x/1/b,/x/1/c')
예제 #2
0
    def test_selector_prod_nonempty(self):
        s = Selector.prod(Selector('/x'), Selector('[0,1]'))
        self.assertEqual(len(s), 2)
        self.assertTrue(s.nonempty)
        self.assertEqual(s.expanded, (('x', 0), ('x', 1)))
        self.assertEqual(s.max_levels, 2)
        self.assertEqual(s.str, '/x/0,/x/1')

        s = Selector.prod(Selector('/x[0:2]'), Selector('[a,b,c]'))
        self.assertEqual(len(s), 6)
        self.assertTrue(s.nonempty)
        self.assertEqual(s.expanded, (('x', 0, 'a'), ('x', 0, 'b'), ('x', 0, 'c'),
                              ('x', 1, 'a'), ('x', 1, 'b'), ('x', 1, 'c')))
        self.assertEqual(s.str, '/x/0/a,/x/0/b,/x/0/c,/x/1/a,/x/1/b,/x/1/c')
예제 #3
0
    def test_selector_prod_nonempty(self):
        s = Selector.prod(Selector('/x'), Selector('[0,1]'))
        assert len(s) == 2
        assert s.nonempty
        assert s.expanded == (('x', 0), ('x', 1))
        assert s.max_levels == 2
        assert s.str == '/x/0,/x/1'

        s = Selector.prod(Selector('/x[0:2]'), Selector('[a,b,c]'))
        assert len(s) == 6
        assert s.nonempty
        assert s.expanded == (('x', 0, 'a'), ('x', 0, 'b'), ('x', 0, 'c'),
                              ('x', 1, 'a'), ('x', 1, 'b'), ('x', 1, 'c'))
        assert s.str == '/x/0/a,/x/0/b,/x/0/c,/x/1/a,/x/1/b,/x/1/c'
예제 #4
0
    def test_selector_prod_nonempty(self):
        s = Selector.prod(Selector('/x'), Selector('[0,1]'))
        assert len(s) == 2
        assert s.nonempty
        assert s.expanded == (('x', 0), ('x', 1))
        assert s.max_levels == 2
        assert s.str == '/x/0,/x/1'

        s = Selector.prod(Selector('/x[0:2]'), Selector('[a,b,c]'))
        assert len(s) == 6
        assert s.nonempty
        assert s.expanded == (('x', 0, 'a'), ('x', 0, 'b'), ('x', 0, 'c'),
                              ('x', 1, 'a'), ('x', 1, 'b'), ('x', 1, 'c'))
        assert s.str == '/x/0/a,/x/0/b,/x/0/c,/x/1/a,/x/1/b,/x/1/c'
예제 #5
0
 def test_selector_prod_empty(self):
     s = Selector.prod(Selector(''), Selector(''))
     self.assertEqual(len(s), 0)
     self.assertTrue(not s.nonempty)
     self.assertEqual(s.expanded, ((),))
     self.assertEqual(s.max_levels, 0)
     self.assertEqual(s.str, '')
예제 #6
0
 def test_selector_prod_empty(self):
     s = Selector.prod(Selector(''), Selector(''))
     self.assertEqual(len(s), 0)
     self.assertTrue(not s.nonempty)
     self.assertEqual(s.expanded, ((),))
     self.assertEqual(s.max_levels, 0)
     self.assertEqual(s.str, '')
예제 #7
0
 def test_selector_prod_empty(self):
     s = Selector.prod(Selector(''), Selector(''))
     assert len(s) == 0
     assert not s.nonempty
     assert s.expanded == ((), )
     assert s.max_levels == 0
     assert s.str == ''
예제 #8
0
 def test_selector_prod_empty(self):
     s = Selector.prod(Selector(''), Selector(''))
     assert len(s) == 0
     assert not s.nonempty
     assert s.expanded == ((),)
     assert s.max_levels == 0
     assert s.str == ''