Example #1
0
    def test_keys(self):
        "Test record keys"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='baz')

        self.assertEqual(list(rec._keys()), ['foo'])
Example #2
0
    def test_values(self):
        "Test record values"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='baz')

        self.assertEqual(list(rec._values()), [('baz')])
Example #3
0
    def test_setitem(self):
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='foo')

        rec['foo'] = 'foo'
        self.assertEqual(rec['foo'], 'foo')
Example #4
0
    def test_popitem(self):
        "Test popitem field from record"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='baz')

        value = rec._popitem('foo')
        self.assertEqual(value, ('foo', 'baz'))
Example #5
0
    def test_contains(self):
        "Test record contains"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='foo')

        self.assertTrue('foo' in rec)
        self.assertFalse('bar' in rec)
Example #6
0
    def test_update(self):
        "Test update record"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='foo')
        rec._update(foo='bar', bar='baz')

        self.assertEqual(rec.foo, 'bar')
        self.assertEqual(rec.bar, 'baz')
Example #7
0
    def test_setdefault(self):
        "Test set default field on record"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='foo')

        self.assertEqual(rec._setdefault('bar', 'bar'), 'bar')
        self.assertEqual(rec.bar, 'bar')
        self.assertEqual(rec._setdefault('foo', 'baz'), 'foo')
        self.assertEqual(rec.foo, 'foo')
Example #8
0
    def test_copy(self):
        "Test copy record"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='baz')
        copy = rec._copy()

        self.assertEqual(copy.foo, 'baz')
        self.assertNotEqual(rec, copy)
        self.assertIsInstance(copy, Record)
Example #9
0
    def test_get(self):
        "Test get field from record"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='baz')

        self.assertEqual(rec._get('foo'), 'baz')
        self.assertEqual(rec._get('bar'), None)
        self.assertEqual(rec._get('bar', 42), 42)
        with self.assertRaises(KeyError):
            rec._get('baz')
Example #10
0
    def test_clear(self):
        "Test record clear"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='foo', bar='bar')

        rec._clear()

        with self.assertRaises(AttributeError):
            rec.foo
        with self.assertRaises(AttributeError):
            rec.bar
Example #11
0
    def test_pop(self):
        "Test pop field from record"
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='baz')

        value = rec._pop('foo')
        self.assertEqual(value, 'baz')
        with self.assertRaises(AttributeError):
            rec.foo

        with self.assertRaises(KeyError):
            rec._pop('baz')
Example #12
0
    def test_init(self):
        Record = record('model', ['foo', 'bar'])

        rec = Record(foo='foo')

        self.assertEqual(rec.foo, 'foo')
Example #13
0
    def test_creation(self):
        "Test record creation"
        Record = record('model', ['foo', 'bar'])

        self.assertEqual(Record.__name__, 'model')
        self.assertEqual(set(Record.__slots__), {'foo', 'bar'})