예제 #1
0
 def test_copy(self):
     kw = Keyword(name='Keyword')
     copy = kw.copy()
     assert_equal(kw.name, copy.name)
     copy.name += ' copy'
     assert_not_equal(kw.name, copy.name)
     assert_equal(id(kw.tags), id(copy.tags))
예제 #2
0
 def test_id_with_keyword_parents(self):
     kw = TestSuite().tests.create().keywords.create()
     kw.keywords = [Keyword(), Keyword()]
     kw.keywords[-1].keywords.create()
     assert_equal(kw.keywords[0].id, 's1-t1-k1-k1')
     assert_equal(kw.keywords[1].id, 's1-t1-k1-k2')
     assert_equal(kw.keywords[1].keywords[0].id, 's1-t1-k1-k2-k1')
예제 #3
0
 def test_copy(self):
     kw = Keyword(name='Keyword')
     copy = kw.copy()
     assert_equal(kw.name, copy.name)
     copy.name += ' copy'
     assert_not_equal(kw.name, copy.name)
     assert_equal(id(kw.tags), id(copy.tags))
예제 #4
0
    def test_setting_non_setup_keyword_to_setup_is_not_supported(self):

        kws = Keywords(keywords=[Keyword(type='setup'), Keyword(), Keyword()])
        orig = list(kws)
        assert_raises_with_msg(
            TypeError, "Setup keyword type must be 'setup', got 'kw'.",
            setattr, kws, 'setup', Keyword())
        assert_equal(list(kws), orig)
예제 #5
0
 def test_setting_non_teardown_keyword_to_teardown_is_not_supported(self):
     kws = Keywords(keywords=[Keyword(), Keyword(type='teardown')])
     orig = list(kws)
     assert_raises_with_msg(
         TypeError,
         "Teardown keyword type must be 'teardown', got 'setup'.", setattr,
         kws, 'teardown', Keyword(type='setup'))
     assert_equal(list(kws), orig)
예제 #6
0
 def test_setup_is_removed_when_set_to_none(self):
     kw = Keyword()
     kws = Keywords(keywords=[Keyword(type='setup'), kw])
     kws.setup = None
     assert_none(kws.setup)
     assert_equal(list(kws), [kw])
     kws.setup = None
     assert_none(kws.setup)
     assert_equal(list(kws), [kw])
예제 #7
0
 def test_set_setup(self):
     s1, s2, kw = Keyword(type='setup'), Keyword(type='setup'), Keyword()
     kws = Keywords(keywords=[kw])
     kws.setup = s1
     assert_true(kws.setup is s1)
     assert_equal(list(kws), [s1, kw])
     kws.setup = s2
     assert_true(kws.setup is s2)
     assert_equal(list(kws), [s2, kw])
예제 #8
0
 def test_set_teardown(self):
     kw, t1, t2 = Keyword(), Keyword(type='teardown'), Keyword(type='teardown')
     kws = Keywords(keywords=[kw])
     kws.teardown = t1
     assert_true(kws.teardown is t1)
     assert_equal(list(kws), [kw, t1])
     kws.teardown = t2
     assert_true(kws.teardown is t2)
     assert_equal(list(kws), [kw, t2])
예제 #9
0
 def test_teardown_is_removed_when_set_to_none(self):
     kw = Keyword()
     kws = Keywords(keywords=[kw, Keyword(type='teardown')])
     kws.teardown = None
     assert_none(kws.teardown)
     assert_equal(list(kws), [kw])
     kws.teardown = None
     assert_none(kws.teardown)
     assert_equal(list(kws), [kw])
예제 #10
0
 def test_iteration(self):
     kws = [
         Keyword(type='setup'),
         Keyword(),
         Keyword(),
         Keyword(type='teardown')
     ]
     assert_equal(list(Keywords(keywords=kws)), kws)
     assert_equal(list(Keywords(keywords=kws).all), kws)
     assert_equal(list(Keywords(keywords=kws).normal), kws[1:-1])
예제 #11
0
 def test_order_after_modifications(self):
     kw = Keyword()
     kw.keywords.create('k1')
     kw.messages.create('m1')
     k2 = kw.keywords.create('k2')
     m2 = kw.messages.create('m2')
     k1 = kw.keywords[0] = Keyword('k1-new')
     m1 = kw.messages[0] = Message('m1-new')
     m3 = Message('m3')
     kw.messages.append(m3)
     k3 = Keyword('k3')
     kw.keywords.extend([k3])
     assert_equal(kw.children, [k1, m1, k2, m2, m3, k3])
     kw.keywords = [k1, k3]
     kw.messages = [m1]
     assert_equal(kw.children, [k1, m1, k3])
예제 #12
0
 def test_order(self):
     kw = Keyword()
     m1 = kw.messages.create('m1')
     k1 = kw.keywords.create('k1')
     k2 = kw.keywords.create('k2')
     m2 = kw.messages.create('m2')
     k3 = kw.keywords.create('k3')
     assert_equal(kw.children, [m1, k1, k2, m2, k3])
예제 #13
0
 def test_order_after_modifications(self):
     kw = Keyword()
     kw.keywords.create('k1')
     kw.messages.create('m1')
     k2 = kw.keywords.create('k2')
     m2 = kw.messages.create('m2')
     k1 = kw.keywords[0] = Keyword('k1-new')
     m1 = kw.messages[0] = Message('m1-new')
     m3 = Message('m3')
     kw.messages.append(m3)
     k3 = Keyword('k3')
     kw.keywords.extend([k3])
     assert_equal(kw.children, [k1, m1, k2, m2, m3, k3])
     kw.keywords = [k1, k3]
     kw.messages = [m1]
     assert_equal(kw.children, [k1, m1, k3])
예제 #14
0
 def test_copy_with_attributes(self):
     kw = Keyword(name='Orig', doc='Orig', tags=['orig'])
     copy = kw.copy(name='New', doc='New', tags=['new'])
     assert_equal(copy.name, 'New')
     assert_equal(copy.doc, 'New')
     assert_equal(list(copy.tags), ['new'])
예제 #15
0
 def test_get_setup(self):
     assert_none(Keywords().setup)
     setup = Keyword(type='setup')
     kws = Keywords(keywords=[setup, Keyword(), Keyword()])
     assert_true(kws.setup is setup)
예제 #16
0
 def test_slots(self):
     assert_raises(AttributeError, setattr, Keyword(), 'attr', 'value')
예제 #17
0
 def test_id_without_parent(self):
     assert_equal(Keyword().id, 'k1')
예제 #18
0
 def test_for_loops_are_included(self):
     kws = [Keyword(type='for'), Keyword(), Keyword(type='foritem')]
     assert_equal(list(Keywords(keywords=kws).normal), kws)
     assert_equal(list(Keywords(keywords=kws).all), kws)
예제 #19
0
 def test_teardown(self):
     assert_equal(Keywords().teardown, None)
     teardown = Keyword(type='teardown')
     assert_true(Keywords(keywords=[Keyword(), teardown]).teardown is teardown)
예제 #20
0
 def test_setup(self):
     assert_equal(Keywords().setup, None)
     setup = Keyword(type='setup')
     assert_true(Keywords(keywords=[setup, Keyword(), Keyword()]).setup is setup)
예제 #21
0
 def test_only_messages(self):
     kw = Keyword()
     for i in range(10):
         kw.messages.create(str(i))
     assert_equal(kw.children, list(kw.messages))
예제 #22
0
 def test_deepcopy_with_attributes(self):
     copy = Keyword(name='Orig').deepcopy(name='New', doc='New')
     assert_equal(copy.name, 'New')
     assert_equal(copy.doc, 'New')
예제 #23
0
 def setUp(self):
     self.empty = Keyword()
     self.ascii = Keyword(name='Kekkonen')
     self.non_ascii = Keyword(name=u'hyv\xe4 nimi')
예제 #24
0
 def test_copy_with_attributes(self):
     kw = Keyword(name='Orig', doc='Orig', tags=['orig'])
     copy = kw.copy(name='New', doc='New', tags=['new'])
     assert_equal(copy.name, 'New')
     assert_equal(copy.doc, 'New')
     assert_equal(list(copy.tags), ['new'])