示例#1
0
 def test_keys(self):
     a = Bunch()
     a.b.c = True
     a.b.d = False
     for key in a.keys():
         self.assertEqual(key, 'b')
     for key in a:
         self.assertEqual(key, 'b')
示例#2
0
 def test_to_dict(self):
     a = {
         'b': {
             'c': True,
             'd': False,
         }
     }
     b = Bunch(a)
     self.assertEqual(b.to_dict(), a)
示例#3
0
 def test_setdefault(self):
     b = Bunch()
     self.assertTrue(b.setdefault('a.b.c', True))
     self.assertTrue(b.setdefault('a.b.c', False))
     self.assertEqual(b.values, {'a': {
         'b': {
             'c': True,
         }
     }})
示例#4
0
 def test_items(self):
     a = Bunch()
     a.b.c = True
     a.b.d = False
     values = {
         'b.d': False,
         'b.c': True,
     }
     for key, value in a.items():
         self.assertEqual(values[key], value)
示例#5
0
 def test_equals(self):
     a = Bunch()
     b = Bunch()
     c = Bunch()
     a['peter.dogs'] = ['olive']
     b['peter.dogs'] = ['olive']
     c['justin.dogs'] = ['peanut']
     self.assertEqual(a, b)
     self.assertNotEqual(a, c)
     self.assertNotEqual(b, c)
示例#6
0
 def test_env(self):
     a = Bunch()
     value = 'test.example.com'
     a.ftp.host = value
     env = a.env()
     os.environ['FTP_PASSWORD'] = '******'
     self.assertEqual(value, env('FTP_HOST'))
     self.assertEqual(value, env('FTP').host)
     self.assertEqual('secret', env('FTP_PASSWORD'))
     self.assertEqual(None, env('FTP_USER'))
     self.assertEqual(None, env('SSL_COOKIE'))
示例#7
0
 def test_repr(self):
     a = Bunch()
     a['peter.dogs.olive'] = '@olivetoroam'
     self.assertEqual(
         repr(a),
         "([('peter', ([('dogs', ([('olive', '@olivetoroam')]))]))])")
     a = Bunch()
     key = 'some.really.long.key.that.is.longer.than.sixty.characters'
     a[key] = 'hello'
     self.assertEqual(
         repr(a), "([('some', ([('really', ([('long', ([('key', "
         "([('that', ([('...])")
示例#8
0
 def test_get_attr(self):
     a = Bunch()
     self.assertEqual(a.b.e, {})
     a = {
         'b': {
             'c': True,
             'd': False,
         }
     }
     a = Bunch(a)
     self.assertTrue(a.b.c)
     self.assertFalse(a.b.d)
示例#9
0
 def test_set_item(self):
     b = Bunch()
     b['a.b.c'] = True
     b['a.b.d'] = False
     self.assertTrue(b['a.b.c'])
     self.assertFalse(b['a.b.d'])
     self.assertIsInstance(b['a'], Bunch)
     self.assertIsNone(b['cody'])
示例#10
0
 def test_set_state(self):
     a = Bunch()
     a['peter.dogs'] = ['olive']
     a['justin.dogs'] = ['peanut']
     b = pickle.dumps(a)
     c = pickle.loads(b)
     self.assertIn('olive', c['peter.dogs'])
     self.assertIn('peanut', c['justin.dogs'])
示例#11
0
 def test_del_item(self):
     a = Bunch()
     a.b.c = True
     a.b.d = False
     del a['b.c']
     del a['hello.cody']
     self.assertIn('b', a)
     self.assertIn('b.d', a)
     self.assertNotIn('b.c', a)
示例#12
0
 def test_del_attr(self):
     a = Bunch()
     a.b.c = True
     a.b.d = False
     del a.b.d
     self.assertIn('b', a)
     self.assertIn('b.c', a)
     self.assertNotIn('b.d', a)
     with pytest.raises(AttributeError):
         del a.cody
示例#13
0
 def test_dir(self):
     b = Bunch({
         'will': {
             'cats': {
                 'cody': 1,
                 'jinx': 1,
                 'padme': 1,
             }
         },
         'yw': {
             'taylor': 1,
         },
         'frank': {
             'strays': 3,
         }
     })
     self.assertIn('yw', b.__dir__())
     self.assertIn('frank', b.__dir__())
     self.assertNotIn('yuki', b.__dir__())
示例#14
0
 def test_get(self):
     b = Bunch()
     b['a.b.c'] = True
     b['a.b.d'] = False
     self.assertTrue(b.get('a.b.c'))
     self.assertFalse(b.get('a.b.d'))
     self.assertIsInstance(b.get('a'), Bunch)
     self.assertEqual(b.get('cat.cody', 2), 2)
示例#15
0
 def test_get_item(self):
     a = {
         'b': {
             'c': True,
             'd': False,
         }
     }
     b = Bunch({
         'a': a,
     })
     self.assertTrue(b['a.b.c'])
     self.assertFalse(b['a.b.d'])
     self.assertIsInstance(b['a'], Bunch)
     self.assertIsNone(b['cody'])
     self.assertIsNone(b['cats.cody'])
示例#16
0
 def test_getattr(self):
     a = Bunch({
         'hello': 'jinx',
     })
     values = a.__getattr__('values')
     self.assertEqual(values, {'hello': 'jinx'})
示例#17
0
 def test_zero(self):
     b = Bunch()
     self.assertFalse(b)
     b['a.cody'] = 'cat'
     self.assertTrue(b)
示例#18
0
 def test_can_create(self):
     b = Bunch()
     self.assertIsNotNone(b)
示例#19
0
 def test_contains(self):
     b = Bunch()
     b['a.b.c'] = True
     self.assertTrue('a.b.c' in b)
     self.assertFalse('a.d' in b)
     self.assertFalse('hello.cody' in b)
示例#20
0
 def test_set_attr(self):
     a = Bunch()
     a.b.c = True
     a.b.d = False
     self.assertTrue(a.b.c)
     self.assertFalse(a.b.d)