コード例 #1
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_right_associate(self):
     result = parser.parse(resolve, 'alist_-_{blist_|_clist}')
     expected = ('AA-(BB|CC)', alist[1] - (blist[1] | clist[1]))
     self.assertEqual(result, expected)
コード例 #2
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_simple_difference(self):
     result = parser.parse(resolve, 'alist_-_blist')
     expected = ('AA-BB', alist[1] - blist[1])
     self.assertEqual(result, expected)
コード例 #3
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_left_associate(self):
     result = parser.parse(resolve, '{alist_-_blist}_|_clist')
     expected = ('(AA-BB)|CC', (alist[1] - blist[1]) | clist[1])
     self.assertEqual(result, expected)
コード例 #4
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_bad_token(self):
     expected = 'Unrecognized syntax near character 6'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, 'alist_+_blist')
コード例 #5
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_simple_union(self):
     result = parser.parse(resolve, 'alist_|_blist')
     expected = ('AA|BB', alist[1] | blist[1])
     self.assertEqual(result, expected)
コード例 #6
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_parens_left(self):
     result = parser.parse(resolve, '{alist_-_clist}_-_blist')
     expected = ('AA-CC-BB', (alist[1] - clist[1]) - blist[1])
     self.assertEqual(result, expected)
コード例 #7
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_vanilla_empty(self):
     """Vanilla address is not a set expression, so empty is not an error."""
     result = parser.parse(resolve, 'empty')
     expected = ('Empty', set())
     self.assertEqual(result, expected)
コード例 #8
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_misplaced_close_paren(self):
     expected = 'Misplaced closing parenthesis'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, 'alist_&_}')
コード例 #9
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_unmatched_close_paren(self):
     expected = 'Unmatched closing parenthesis'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, '{alist_&_blist}}')
コード例 #10
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_unmatched_open_paren(self):
     expected = 'Unmatched opening parenthesis'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, '{alist')
コード例 #11
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_misplaced_open_paren(self):
     expected = 'Misplaced opening parenthesis'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, 'alist{blist}')
コード例 #12
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_misplaced_difference(self):
     expected = 'Misplaced difference operator'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, '_-_alist')
コード例 #13
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_misplaced_intersect(self):
     expected = 'Misplaced intersection operator'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, '_&_alist')
コード例 #14
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_misplaced_leaf(self):
     expected = 'Misplaced list or person name'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, '{alist}blist')
コード例 #15
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_omitted_parens(self):
     result = parser.parse(resolve, 'alist_|_blist_|_clist')
     expected = ('AA|BB|CC', alist[1] | blist[1] | clist[1])
     self.assertEqual(result, expected)
コード例 #16
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_single_list(self):
     result = parser.parse(resolve, 'alist')
     expected = ('Alist', alist[1])
     self.assertEqual(result, expected)
コード例 #17
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_surplus_parens(self):
     result = parser.parse(resolve, 'alist_|_{blist_|_clist}')
     expected = ('AA|BB|CC', alist[1] | blist[1] | clist[1])
     self.assertEqual(result, expected)
コード例 #18
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_single_in_parens(self):
     result = parser.parse(resolve, '{alist}')
     expected = ('AA', alist[1])
     self.assertEqual(result, expected)
コード例 #19
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_parens_right(self):
     result = parser.parse(resolve, 'alist_-_{clist_-_blist}')
     expected = ('AA-(CC-BB)', alist[1] - (clist[1] - blist[1]))
     self.assertEqual(result, expected)
コード例 #20
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_simple_intersection(self):
     result = parser.parse(resolve, 'alist_&_blist')
     expected = ('AA&BB', alist[1] & blist[1])
     self.assertEqual(result, expected)
コード例 #21
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_empty_result(self):
     expected = 'No recipients match this set expression'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, 'alist_-_alist')
コード例 #22
0
ファイル: parser_test.py プロジェクト: dtolnay/mailingset
 def test_fail_unparenthesized(self):
     expected = 'Parentheses required when mixing different operators'
     with helper.AssertFail(self, SyntaxError, expected):
         parser.parse(resolve, 'alist_&_blist_|_clist')