def test_adding_scopes_preserves_originals(self): s1 = Scope('b', 'a') s2 = Scope('c', 'b') assert isinstance(s1 + s2, Scope) assert s1 + s2 == {'a', 'b', 'c'} assert str(s1) == 'a b' assert str(s2) == 'b c'
def test_subtracting_scopes_preservers_originals(self): s1 = Scope('b', 'a') s2 = Scope('c', 'b') assert isinstance(s1 - s2, Scope) assert s1 - s2 == {'a'} assert str(s1) == 'a b' assert str(s2) == 'b c'
def test_scope_initialisable_with_combination(self): s = Scope('a', 'b', scope.user_read_private) assert str(s) == 'a b user-read-private'
def test_scope_initialisable_with_enum(self): s = Scope(scope.user_read_private) assert str(s) == 'user-read-private'
def test_scope_initialisable_with_strings(self): s = Scope('b', 'a') assert str(s) == 'a b'
def test_add_Scope_Scope(self): s = Scope('a') + Scope('b') assert str(s) == 'a b'
def test_add_scope_Scope(self): s = scope.user_top_read + Scope('a') assert str(s) == 'a user-top-read'
def test_add_invalid_Scope(self): with pytest.raises(NotImplementedError): 1 + Scope('a')
def test_sub_Scope_scope_same(self): s = Scope('user-top-read') - scope.user_top_read assert str(s) == ''
def test_sub_Scope_scope_different(self): s = Scope('a') - scope.user_top_read assert str(s) == 'a'
def test_sub_Scope_str_different(self): s = Scope('a') - 'b' assert str(s) == 'a'
def test_sub_scope_Scope_different(self): s = scope.user_top_read - Scope('a') assert str(s) == 'user-top-read'
def test_repr_like_instantiation(self): s = Scope('a', 'b') assert repr(s) == "Scope('a', 'b')"
def test_sub_str_Scope_same(self): s = 'a' - Scope('a') assert str(s) == ''
def test_sub_str_Scope_different(self): s = 'a' - Scope('b') assert str(s) == 'a'
def test_different_object_same_str_results_in_no_duplicates(self): s = Scope(scope.user_read_private, 'user-read-private') assert s == {'user-read-private'}
def test_scope_unpackable(self): s1 = Scope('b', 'a') s2 = Scope(*s1) assert s1 == s2
def test_sub_Scope_Scope_different(self): s = Scope('a') - Scope('b') assert str(s) == 'a'
def test_sub_Scope_Scope_same(self): s = Scope('a') - Scope('a') assert str(s) == ''
def test_sub_Scope_invalid_raises(self): with pytest.raises(NotImplementedError): Scope('a') - 1
def test_add_str_Scope(self): s = 'a' + Scope('b') assert str(s) == 'a b'
def test_empty_scope_equal_to_empty_set(self): s = Scope() assert s == set()
def test_add_Scope_str(self): s = Scope('a') + 'b' assert str(s) == 'a b'
def test_add_Scope_scope(self): s = Scope('a') + scope.user_top_read assert str(s) == 'a user-top-read'