~doctormo/+junk/css-parser

« back to all changes in this revision

Viewing changes to tests/test_property.py

  • Committer: Martin Owens
  • Date: 2014-07-13 19:16:11 UTC
  • Revision ID: doctormo@gmail.com-20140713191611-48dkgp1dklvh8bq2
Inital addition of working css files

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
#
 
3
# This program is free software; you can redistribute it and/or modify
 
4
# it under the terms of the GNU General Public License as published by
 
5
# the Free Software Foundation; either version 3 of the License, or
 
6
# (at your option) any later version.
 
7
#
 
8
# This program is distributed in the hope that it will be useful,
 
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
# GNU General Public License for more details.
 
12
#
 
13
# You should have received a copy of the GNU General Public License
 
14
# along with this program; if not, write to the Free Software
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
16
#
 
17
 
 
18
import os
 
19
import sys
 
20
 
 
21
sys.path.insert(0, '../')
 
22
sys.path.insert(0, '.')
 
23
 
 
24
import unittest
 
25
from property import PropertyObject
 
26
try:
 
27
    from test import test_support
 
28
except ImportError:
 
29
    from test import support as test_support
 
30
 
 
31
class PropertyTestCase(unittest.TestCase):
 
32
    """Test property object's capabilities."""
 
33
    def setUp(self):
 
34
        self.p = PropertyObject()
 
35
        self.p.add_to({'foo': 2})
 
36
 
 
37
    def test_01_get_attr(self):
 
38
        """Get attributes"""
 
39
        self.assertEqual(self.p.foo, 2)
 
40
 
 
41
    def test_02_replace(self):
 
42
        """Replace Attributes"""
 
43
        self.p.add_to({'foo': 1})
 
44
        self.assertEqual(self.p.foo, 1)
 
45
 
 
46
    def test_03_set_attr(self):
 
47
        """Set user attributes"""
 
48
        self.p.foo = 3
 
49
        self.assertEqual(self.p.foo, 3)
 
50
 
 
51
    def test_04_multi_attr(self):
 
52
        """Multiple attributes"""
 
53
        self.p.add_to({'foo': 5}, 'hover')
 
54
        self.assertEqual(self.p.foo, 5)
 
55
        self.p.add_to({'foo': 6}, 'down')
 
56
        self.assertEqual(self.p.foo, 6)
 
57
 
 
58
    def test_05_multi_remove(self):
 
59
        """Remove extra state"""
 
60
        self.p.add_to({'foo': 5}, 'hover')
 
61
        self.assertEqual(self.p.foo, 5)
 
62
        self.p.remove('hover')
 
63
        self.assertEqual(self.p.foo, 2)
 
64
 
 
65
    def test_06_multi_and_user(self):
 
66
        """Attribute Order"""
 
67
        self.p.foo = 12
 
68
        self.assertEqual(self.p.foo, 12)
 
69
        self.p.add_to({'foo': 6}, 'down')
 
70
        self.assertEqual(self.p.foo, 12)
 
71
 
 
72
    def test_07_refreshed(self):
 
73
        """Refresh Attributes"""
 
74
        self.p.add_to({'foo': 5}, 'hover')
 
75
        self.p.foo = 12
 
76
        self.p.refresh()
 
77
        self.assertEqual(self.p.foo, 12)
 
78
 
 
79
 
 
80
    def test_08_del_attr(self):
 
81
        """Delete attributes"""
 
82
        self.p.foo = 3
 
83
        del self.p.foo
 
84
        self.assertEqual(self.p.foo, 2)
 
85
 
 
86
         
 
87
 
 
88
 
 
89
if __name__ == '__main__':
 
90
    test_support.run_unittest(
 
91
       PropertyTestCase,
 
92
    )