def test_select(self): d = Data() d.a = 1 d.select('b') d.a = 2 self.assertEqual(d.a, 2) d.select() self.assertEqual(d.a, 1)
def test_setattr(self): d = Data() d.a = 1 d.select('a') d.a = 2 self.assertEqual(d.a, 2) d.select('') self.assertEqual(d.a, 1)
def test_history(self): d = Data() d.history['a'] = {} d.a = 1 self.assertEqual(d.history['a'][-1][1], 1) d.select('a') d.a = 0 d.history['a_a'] = {} d.a = 2 self.assertEqual(d.history['a_a'][-1][1], 2)
def test_section(self): d = Data() d.a = 1 d.section('b').c = 2 self.assertEqual(d.section('').a, 1) self.assertEqual(d.section('b').c, 2) self.assertEqual(len(d.section('b').keys()), 1)
def test_getitem(self): d = Data() d.a = 1 d.a_a = 2 self.assertEqual(d['a'], d.a) d.select('a') self.assertEqual(d['a'], d.a)
def test_keys(self): d = Data() d.a = 1 d.a_b = 2 self.assertEqual(len(d.keys()), 2) d.select('a') res = d.keys() self.assertEqual(len(res), 1) self.assertEqual(res[0], 'b')
def test_get(self): d = Data() d.a = 1 d.b = 2 d.a_a = 3 self.assertEqual(d.get('a', 0), 1) self.assertEqual(d.get('c', 0), 0) d.select('a') self.assertEqual(d.get('a', 0), 3) self.assertEqual(d.get('b', 0), 0)
def test_repr(self): d = Data() d.a = 1 self.assertEqual(str(d), "[('a', 1)]")
def test_clear(self): d = Data() d.use('a', 1) d.a = 2 d.clear('a') self.assertEqual(d.a, 1)
def test_delattr(self): d = Data() d.a = 1 self.assertEqual(d.get('a', 0), 1) del d.a self.assertEqual(d.get('a', 0), 0)