Exemplo n.º 1
0
    def test_subrecord_filter_deep(self):
        data = [{'a': {'d':[{'b': 2}, {'b': 4}]}},
                {'a': {'d':[{'b': 5}]}},
                {'a': {'d':[{'b': 8}, {'b':2}, {'b':1}]}}]

        expected = [{'a': {'d':[{'b': 4}, {'b': 8}]}},
                    {'a': {'d':[{'b': 10}]}},
                    {'a': {'d':[{'b': 16}, {'b':4}, {'b':2}]}}]

        sf = SubrecordFilter('a.d', NonModifyingFieldDoubler('b'))
        result = sf.attach(data)

        self.assertEquals(list(result), expected)
Exemplo n.º 2
0
    def test_subrecord_filter_list_in_path(self):
        data = [
            {'a': [{'b': {'c': 5}}, {'b': {'c': 6}}]},
            {'a': [{'b': {'c': 1}}, {'b': {'c': 2}}, {'b': {'c': 3}}]},
            {'a': [{'b': {'c': 2}} ]}
        ]

        expected = [
            {'a': [{'b': {'c': 10}}, {'b': {'c': 12}}]},
            {'a': [{'b': {'c': 2}}, {'b': {'c': 4}}, {'b': {'c': 6}}]},
            {'a': [{'b': {'c': 4}} ]}
        ]

        sf = SubrecordFilter('a.b', NonModifyingFieldDoubler('c'))
        result = sf.attach(data)

        self.assertEquals(list(result), expected)
Exemplo n.º 3
0
    def test_subrecord_filter_nonlist(self):
        data = [
            {'a':{'b':{'c':1}}},
            {'a':{'b':{'c':2}}},
            {'a':{'b':{'c':3}}},
        ]

        expected = [
            {'a':{'b':{'c':2}}},
            {'a':{'b':{'c':4}}},
            {'a':{'b':{'c':6}}},
        ]

        sf = SubrecordFilter('a.b', NonModifyingFieldDoubler('c'))
        result = sf.attach(data)

        self.assertEqual(list(result), expected)