File: test_stringcomparison.py

package info (click to toggle)
python-testfixtures 9.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,036 kB
  • sloc: python: 10,373; makefile: 76; sh: 9
file content (46 lines) | stat: -rw-r--r-- 1,271 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import re

from testfixtures import StringComparison as S, compare
from unittest import TestCase


class Tests(TestCase):

    def test_equal_yes(self):
        self.assertTrue('on 40220' == S(r'on \d+'))

    def test_equal_no(self):
        self.assertFalse('on xxx' == S(r'on \d+'))

    def test_not_equal_yes(self):
        self.assertFalse('on 40220' != S(r'on \d+'))

    def test_not_equal_no(self):
        self.assertTrue('on xxx' != S(r'on \d+'))

    def test_comp_in_sequence(self):
        self.assertTrue((1, 2, 'on 40220') == (1, 2, S(r'on \d+')))

    def test_not_string(self):
        self.assertFalse(40220 == S(r'on \d+'))

    def test_repr(self):
        compare('<S:on \\d+>', repr(S(r'on \d+')))

    def test_str(self):
        compare('<S:on \\d+>', str(S(r'on \d+')))

    def test_sort(self):
        a = S('a')
        b = S('b')
        c = S('c')
        compare(sorted(('d', c, 'e', a, 'a1', b)), expected=[a, 'a1', b, c, 'd', 'e'])

    def test_flags_argument(self):
        compare(S(".*bar", re.DOTALL), actual="foo\nbar")

    def test_flags_parameter(self):
        compare(S(".*bar", flags=re.DOTALL), actual="foo\nbar")

    def test_flags_names(self):
        compare(S(".*BaR", dotall=True, ignorecase=True), actual="foo\nbar")