Beispiel #1
0
 def test_nested_merge_collect_default(self):
     stub_dictionaries = [{
         'a': 1,
         'b': [2],
         'c': 3
     }, {
         'a': 1,
         'b': [1],
         'c': 3
     }, {
         'a': 2,
         'b': [1],
         'c': 3
     }]
     output = database.nested_merge(['a'], [('b', 'default')],
                                    stub_dictionaries)
     assert_that(
         output,
         is_([{
             'a': 1,
             'b:set': [1, 2],
             'b': [1, 2]
         }, {
             'a': 2,
             'b:set': [1],
             'b': [1]
         }]))
Beispiel #2
0
    def test_nested_merge_merges_dictionaries(self):
        output = database.nested_merge(['a', 'b'], [], self.dictionaries)

        assert_that(
            output[0],
            is_({
                "a": 1,
                "_count": 0,
                "_group_count": 2,
                "_subgroup": [
                    {
                        "b": 1
                    },
                    {
                        "b": 2
                    },
                ],
            }))
        assert_that(
            output[1],
            is_({
                "a": 2,
                "_count": 0,
                "_group_count": 1,
                "_subgroup": [{
                    "b": 1
                }],
            }))
Beispiel #3
0
 def test_nested_merge_collect_sum(self):
     stub_dictionaries = [
         {'a': 1, 'b': [2]},
         {'a': 1, 'b': [1]},
         {'a': 2, 'b': [1]}
     ]
     output = database.nested_merge(['a'], [('b', 'sum')], stub_dictionaries)
     assert_that(output, is_([
         {'a': 1, 'b:sum': 3},
         {'a': 2, 'b:sum': 1}
     ]))
Beispiel #4
0
 def test_nested_merge_collect_default(self):
     stub_dictionaries = [
         {'a': 1, 'b': [2], 'c': 3},
         {'a': 1, 'b': [1], 'c': 3},
         {'a': 2, 'b': [1], 'c': 3}
     ]
     output = database.nested_merge(['a'], [('b', 'default')], stub_dictionaries)
     assert_that(output, is_([
         {'a': 1, 'b:set': [1, 2], 'b': [1, 2]},
         {'a': 2, 'b:set': [1], 'b': [1]}
     ]))
Beispiel #5
0
 def test_nested_merge_squashes_duplicates(self):
     output = database.nested_merge(['a'], [], self.dictionaries)
     assert_that(output,
                 is_([{
                     'a': 1,
                     'b': 2,
                     'c': 3
                 }, {
                     'a': 2,
                     'b': 1,
                     'c': 3
                 }]))
Beispiel #6
0
 def test_nested_merge_collect_sum(self):
     stub_dictionaries = [{
         'a': 1,
         'b': [2]
     }, {
         'a': 1,
         'b': [1]
     }, {
         'a': 2,
         'b': [1]
     }]
     output = database.nested_merge(['a'], [('b', 'sum')],
                                    stub_dictionaries)
     assert_that(output, is_([{'a': 1, 'b:sum': 3}, {'a': 2, 'b:sum': 1}]))
Beispiel #7
0
    def test_nested_merge_merges_dictionaries(self):
        output = database.nested_merge(['a', 'b'], [], self.dictionaries)

        assert_that(output[0], is_({
            "a": 1,
            "_count": 0,
            "_group_count": 2,
            "_subgroup": [
                {"b": 1},
                {"b": 2},
            ],
        }))
        assert_that(output[1], is_({
            "a": 2,
            "_count": 0,
            "_group_count": 1,
            "_subgroup": [
                {"b": 1}
            ],
        }))
Beispiel #8
0
 def test_nested_merge_squashes_duplicates(self):
     output = database.nested_merge(['a'], [], self.dictionaries)
     assert_that(output, is_([
         {'a': 1},
         {'a': 2}
     ]))