示例#1
0
 def test_repeated_symbol(self):
     """
     verify that repeating a symbol doesn't break anything
     """
     class S(SymbolDef):
         a
         a
     self.assertIs(S.a, Symbol('a'))
     self.assertEqual(S.get_all_symbols(), [Symbol('a')])
示例#2
0
 def test_get_all_symbols(self):
     """
     verify that get_all_symbols() works as intended
     """
     class S(SymbolDef):
         a
         b
         c
     self.assertEqual(
         S.get_all_symbols(), [Symbol('a'), Symbol('b'), Symbol('c')])
示例#3
0
 def test_implicit_symbols(self):
     """
     verify that referencing names inside SymbolDef creates symbols
     """
     class S(SymbolDef):
         a
         b
         c
     self.assertIs(S.a, Symbol('a'))
     self.assertIs(S.b, Symbol('b'))
     self.assertIs(S.c, Symbol('c'))
示例#4
0
 def test_custom_string_symbols(self):
     """
     verify that assigning strings to variables creates symbols
     """
     class S(SymbolDef):
         a = "the-a-symbol"
     self.assertIs(S.a, Symbol('the-a-symbol'))
示例#5
0
 def test_custom_symbols(self):
     """
     verify that assigning symbols to variables works
     """
     class S(SymbolDef):
         a = Symbol("the-a-symbol")
     self.assertIs(S.a, Symbol('the-a-symbol'))
示例#6
0
 def test_symbol_other_comparison(self):
     """
     verify that comparing symbols to other types (or vice
     versa) is always False
     """
     self.assertFalse(
         Symbol('foo') == 1,
         "Symbol compared equal to integer")
     self.assertFalse(
         1 == Symbol('foo'),
         "integer compared equal to Symbol")
     self.assertFalse(
         Symbol('foo') != 1,
         "Symbol compared unequal to integer")
     self.assertFalse(
         1 != Symbol('foo'),
         "integer compared unequal to Symbol")
示例#7
0
 def test_string_symbol_comparison(self):
     """
     verify that comparing strings to symbols works
     """
     self.assertEqual('foo', Symbol('foo'))
     self.assertNotEqual('bar', Symbol('foo'))
示例#8
0
 def test_symbol_string_comparison(self):
     """
     verify that comparing symbols to strings works
     """
     self.assertEqual(Symbol('foo'), 'foo')
     self.assertNotEqual(Symbol('foo'), 'bar')
示例#9
0
 def test_different_symbols_are_not_same(self):
     """
     verify that two symbols with different names are not the same object
     """
     self.assertIsNot(Symbol('foo'), Symbol('bar'))
示例#10
0
 def test_symbol_uniqueness(self):
     """
     verify that two symbols with the same name are indeed a single object
     """
     self.assertIs(Symbol('foo'), Symbol('foo'))
示例#11
0
 def test_symbol_name(self):
     """
     verify that Symbol.name returns the symbol name
     """
     self.assertEqual(Symbol('foo').name, 'foo')
示例#12
0
 def test_symbol_hash(self):
     """
     verify that hash() hashes the symbol name
     """
     self.assertEqual(hash(Symbol('foo')), hash('foo'))
示例#13
0
 def test_symbol_repr(self):
     """
     verify that repr() produces the symbol object
     """
     self.assertEqual(repr(Symbol('foo')), "Symbol('foo')")
示例#14
0
 def test_symbol_str(self):
     """
     verify that str() produces the symbol name
     """
     self.assertEqual(str(Symbol('foo')), 'foo')
示例#15
0
 class S(SymbolDef):
     a = Symbol("the-a-symbol")