def test_keys_in_filtered_dict(self): data = { 'key1': Dummy(id=1, name='NAME_A'), 'key2': Dummy(id=2, name='NAME_A'), 'key3': Dummy(id=3, name='NAME_B'), 'key4': Dummy(id=4, name='NAME_B') } lm = EmbeddedManager(data) self.assertEqual(2, len(lm.filter(name='NAME_B').keys())) self.assertTrue('key3' in lm.filter(name='NAME_B').keys()) self.assertTrue('key4' in lm.filter(name='NAME_B').keys())
def test_filter_dict_with_field(self): data = { 'key1': Dummy(id=1, name='NAME_A', check='NAME_X'), 'key2': Dummy(id=2, name='NAME_A', check='NAME_A'), 'key3': Dummy(id=3, name='NAME_B', check='NAME_X'), 'key4': Dummy(id=4, name='NAME_B', check='NAME_X'), 'key5': Dummy(id=5, name='NAME_B', check='NAME_B'), 'key6': Dummy(id=6, name='NAME_B', check='NAME_B') } lm = EmbeddedManager(data, type=Dummy) self.assertEqual(3, len(lm.filter(name=F('check')))) self.assertEqual(2, lm.filter(name=F('check'))['key2'].id) self.assertEqual(5, lm.filter(name=F('check'))['key5'].id) self.assertEqual(6, lm.filter(name=F('check'))['key6'].id)
def test_filter_with_field(self): data = [ Dummy(id=1, name='NAME_A', check='NAME_X'), Dummy(id=2, name='NAME_A', check='NAME_A'), Dummy(id=3, name='NAME_B', check='NAME_X'), Dummy(id=4, name='NAME_B', check='NAME_X'), Dummy(id=5, name='NAME_B', check='NAME_B'), Dummy(id=6, name='NAME_B', check='NAME_B') ] lm = EmbeddedManager(data, type=Dummy) self.assertEqual(3, len(lm.filter(name=F('check')))) self.assertEqual(2, lm.filter(name=F('check'))[0].id) self.assertEqual(5, lm.filter(name=F('check'))[1].id) self.assertEqual(6, lm.filter(name=F('check'))[2].id)
def test_filter_get_with_dict(self): data = { 'key1': Dummy(id=1, name='NAME_A', flag='A'), 'key2': Dummy(id=2, name='NAME_A', flag='B'), 'key3': Dummy(id=3, name='NAME_B', flag='C'), 'key4': Dummy(id=4, name='NAME_B', flag='A'), 'key5': Dummy(id=5, name='NAME_B', flag='B'), 'key6': Dummy(id=6, name='NAME_B', flag='C') } lm = EmbeddedManager(data, type=Dummy) self.assertEqual(5, lm.filter(name='NAME_B').get(flag='B').id) self.assertEqual('NAME_B', lm.filter(name='NAME_B').get(flag='B').name) self.assertEqual('B', lm.filter(name='NAME_B').get(flag='B').flag) with self.assertRaises(DoesNotExist): lm.filter(name='NAME_A').get(flag='C')
def test_filter_get(self): data = [ Dummy(id=1, name='NAME_A', flag='A'), Dummy(id=2, name='NAME_A', flag='B'), Dummy(id=3, name='NAME_B', flag='C'), Dummy(id=4, name='NAME_B', flag='A'), Dummy(id=5, name='NAME_B', flag='B'), Dummy(id=6, name='NAME_B', flag='C') ] lm = EmbeddedManager(data, type=Dummy) self.assertEqual(5, lm.filter(name='NAME_B').get(flag='B').id) self.assertEqual('NAME_B', lm.filter(name='NAME_B').get(flag='B').name) self.assertEqual('B', lm.filter(name='NAME_B').get(flag='B').flag) with self.assertRaises(DoesNotExist): lm.filter(name='NAME_A').get(flag='C')
def test_append(self): data = [ Dummy(id=1, name='NAME_A'), Dummy(id=2, name='NAME_A'), Dummy(id=3, name='NAME_B'), Dummy(id=4, name='NAME_B') ] lm = EmbeddedManager(data) lm.append(Dummy(id=5, name='NAME_C')) self.assertEqual(5, len(lm)) self.assertEqual(5, lm.get(id=5).id) self.assertEqual('NAME_C', lm.get(id=5).name) self.assertEqual(1, len(lm.filter(name='NAME_C'))) self.assertEqual(5, lm.filter(name='NAME_C')[0].id) self.assertEqual('NAME_C', lm.filter(name='NAME_C')[0].name)
def test_chained_filter(self): data = [ Dummy(id=1, name='NAME_A', flag='A'), Dummy(id=2, name='NAME_A', flag='B'), Dummy(id=3, name='NAME_B', flag='C'), Dummy(id=4, name='NAME_B', flag='A'), Dummy(id=5, name='NAME_B', flag='B'), Dummy(id=6, name='NAME_B', flag='C') ] lm = EmbeddedManager(data, type=Dummy) self.assertEqual(1, len(lm.filter(name='NAME_B').filter(flag='B'))) self.assertEqual(5, lm.filter(name='NAME_B').filter(flag='B')[0].id) self.assertEqual('NAME_B', lm.filter(name='NAME_B').filter(flag='B')[0].name) self.assertEqual('B', lm.filter(name='NAME_B').filter(flag='B')[0].flag)
def test_chained_filter_with_dict(self): data = { 'key1': Dummy(id=1, name='NAME_A', flag='A'), 'key2': Dummy(id=2, name='NAME_A', flag='B'), 'key3': Dummy(id=3, name='NAME_B', flag='C'), 'key4': Dummy(id=4, name='NAME_B', flag='A'), 'key5': Dummy(id=5, name='NAME_B', flag='B'), 'key6': Dummy(id=6, name='NAME_B', flag='C') } lm = EmbeddedManager(data, type=Dummy) self.assertEqual(1, len(lm.filter(name='NAME_B').filter(flag='B'))) self.assertEqual(5, lm.filter(name='NAME_B').filter(flag='B')['key5'].id) self.assertEqual( 'NAME_B', lm.filter(name='NAME_B').filter(flag='B')['key5'].name) self.assertEqual( 'B', lm.filter(name='NAME_B').filter(flag='B')['key5'].flag)
def test_in_filtered_list(self): data = [ Dummy(id=1, name='NAME_A'), Dummy(id=2, name='NAME_A'), Dummy(id=3, name='NAME_B'), Dummy(id=4, name='NAME_B') ] lm = EmbeddedManager(data) self.assertTrue(Dummy(id=3, name='NAME_B') in lm.filter(name='NAME_B')) self.assertTrue(Dummy(id=4, name='NAME_B') in lm.filter(name='NAME_B'))
def test_copy_with_filtered_list(self): data = [ Dummy(id=1, name='NAME_A'), Dummy(id=2, name='NAME_A'), Dummy(id=3, name='NAME_B'), Dummy(id=4, name='NAME_B') ] lm = EmbeddedManager(data, type=Dummy) self.assertEqual( [Dummy(id=3, name='NAME_B'), Dummy(id=4, name='NAME_B')], lm.filter(name='NAME_B').copy())
def test_update(self): data = { 'key1': Dummy(id=1, name='NAME_A'), 'key2': Dummy(id=2, name='NAME_A'), 'key3': Dummy(id=3, name='NAME_B'), 'key4': Dummy(id=4, name='NAME_B') } lm = EmbeddedManager(data) lm.update({ 'key4': Dummy(id=5, name='NAME_C'), 'key5': Dummy(id=6, name='NAME_C'), }) self.assertEqual(5, len(lm)) self.assertEqual(5, lm.get('key4').id) self.assertEqual('NAME_C', lm.get('key4').name) self.assertEqual(6, lm.get(id=6).id) self.assertEqual('NAME_C', lm.get('key5').name) self.assertEqual(2, len(lm.filter(name='NAME_C'))) self.assertEqual(5, lm.filter(name='NAME_C')['key4'].id) self.assertEqual('NAME_C', lm.filter(name='NAME_C')['key4'].name) self.assertEqual(6, lm.filter(name='NAME_C')['key5'].id) self.assertEqual('NAME_C', lm.filter(name='NAME_C')['key5'].name)
def test_copy_with_filtered_dict(self): data = { 'key1': Dummy(id=1, name='NAME_A'), 'key2': Dummy(id=2, name='NAME_A'), 'key3': Dummy(id=3, name='NAME_B'), 'key4': Dummy(id=4, name='NAME_B') } lm = EmbeddedManager(data, type=Dummy) self.assertEqual( { 'key3': Dummy(id=3, name='NAME_B'), 'key4': Dummy(id=4, name='NAME_B') }, lm.filter(name='NAME_B').copy())
def test_filter_with_keys_from_dict(self): data = { 'key1': Dummy(id=1, name='NAME_A'), 'key2': Dummy(id=2, name='NAME_A'), 'key3': Dummy(id=3, name='NAME_B'), 'key4': Dummy(id=4, name='NAME_B') } lm = EmbeddedManager(data) self.assertEqual(1, len(lm.filter(id=1, name='NAME_A'))) self.assertTrue( isinstance(lm.filter(id=1, name='NAME_A')['key1'], Dummy)) self.assertEqual(1, lm.filter(id=1, name='NAME_A')['key1'].id) self.assertEqual('NAME_A', lm.filter(id=1, name='NAME_A')['key1'].name) self.assertEqual(2, len(lm.filter(name='NAME_A'))) self.assertTrue(isinstance(lm.filter(name='NAME_A')['key1'], Dummy)) self.assertEqual(1, lm.filter(name='NAME_A')['key1'].id) self.assertEqual('NAME_A', lm.filter(name='NAME_A')['key1'].name) self.assertTrue(isinstance(lm.filter(name='NAME_A')['key2'], Dummy)) self.assertEqual(2, lm.filter(name='NAME_A')['key2'].id) self.assertEqual('NAME_A', lm.filter(name='NAME_A')['key2'].name)
def test_filter_with_keys(self): data = [ Dummy(id=1, name='NAME_A'), Dummy(id=2, name='NAME_A'), Dummy(id=3, name='NAME_B'), Dummy(id=4, name='NAME_B') ] lm = EmbeddedManager(data) self.assertEqual(1, len(lm.filter(id=1, name='NAME_A'))) self.assertTrue(isinstance(lm.filter(id=1, name='NAME_A')[0], Dummy)) self.assertEqual(1, lm.filter(id=1, name='NAME_A')[0].id) self.assertEqual('NAME_A', lm.filter(id=1, name='NAME_A')[0].name) self.assertEqual(2, len(lm.filter(name='NAME_A'))) self.assertTrue(isinstance(lm.filter(name='NAME_A')[0], Dummy)) self.assertEqual(1, lm.filter(name='NAME_A')[0].id) self.assertEqual('NAME_A', lm.filter(name='NAME_A')[0].name) self.assertTrue(isinstance(lm.filter(name='NAME_A')[1], Dummy)) self.assertEqual(2, lm.filter(name='NAME_A')[1].id) self.assertEqual('NAME_A', lm.filter(name='NAME_A')[1].name)