Пример #1
0
    def test_combine_benefit_groups_no_overlap(self):
        base_group = {'group1':
                      {'benefit1':
                       {'value': 3,
                        'currency': 9,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'},
                       'benefit2':
                       {'value': 4,
                        'currency': 10,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'}}}
        new_group = {'group2':
                     {'benefit1':
                      {'value': 5,
                       'currency': 11,
                       'unit': 'gal',
                       'label': 'stormwater',
                       'unit-name': 'eco'},
                      'benefit2':
                      {'value': 6,
                       'currency': 19,
                       'unit': 'gal',
                       'label': 'stormwater',
                       'unit-name': 'eco'}}}
        groups = {}
        _combine_grouped_benefits(groups, base_group)
        _combine_grouped_benefits(groups, new_group)

        target = {'group1': base_group['group1'],
                  'group2': new_group['group2']}

        self.assertEqual(groups, target)
Пример #2
0
    def test_combine_benefit_groups_no_overlap(self):
        base_group = {
            'group1': {
                'benefit1': {
                    'value': 3,
                    'currency': 9,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit2': {
                    'value': 4,
                    'currency': 10,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                }
            }
        }
        new_group = {
            'group2': {
                'benefit1': {
                    'value': 5,
                    'currency': 11,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit2': {
                    'value': 6,
                    'currency': 19,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                }
            }
        }
        groups = {}
        _combine_grouped_benefits(groups, base_group)
        _combine_grouped_benefits(groups, new_group)

        target = {
            'group1': base_group['group1'],
            'group2': new_group['group2']
        }

        self.assertEqual(groups, target)
Пример #3
0
    def test_combine_benefit_groups_empty(self):
        # with and without currency
        base_group = {'group1':
                      {'benefit1':
                       {'value': 3,
                        'currency': 9,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'},
                       'benefit2':
                       {'value': 3,
                        'currency': 9,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'}}}
        groups = {}
        _combine_grouped_benefits(groups, base_group)

        self.assertEqual(groups, base_group)
Пример #4
0
    def test_combine_benefit_groups_empty(self):
        # with and without currency
        base_group = {
            'group1': {
                'benefit1': {
                    'value': 3,
                    'currency': 9,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit2': {
                    'value': 3,
                    'currency': 9,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                }
            }
        }
        groups = {}
        _combine_grouped_benefits(groups, base_group)

        self.assertEqual(groups, base_group)
Пример #5
0
    def test_combine_benefit_groups_sums_benefits(self):
        base_group = {
            'group1': {
                'benefit1': {
                    'value': 3,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit2': {
                    'value': 4,
                    'currency': 10,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit3': {
                    'value': 32,
                    'currency': 919,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                }
            }
        }
        new_group = {
            'group1': {
                'benefit1': {
                    'value': 5,
                    'currency': 11,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit2': {
                    'value': 7,
                    'unit': 'gal',
                    'currency': 19,
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit4': {
                    'value': 7,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                }
            }
        }
        groups = {}
        _combine_grouped_benefits(groups, base_group)
        _combine_grouped_benefits(groups, new_group)

        target = {
            'group1': {
                'benefit1': {
                    'value': 8,
                    'currency': 11,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit2': {
                    'value': 11,
                    'currency': 29,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit3': {
                    'value': 32,
                    'currency': 919,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                },
                'benefit4': {
                    'value': 7,
                    'unit': 'gal',
                    'label': BenefitCategory.STORMWATER,
                    'unit-name': 'eco'
                }
            }
        }

        self.assertEqual(groups, target)
Пример #6
0
    def test_combine_benefit_groups_sums_benefits(self):
        base_group = {'group1':
                      {'benefit1':
                       {'value': 3,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'},
                       'benefit2':
                       {'value': 4,
                        'currency': 10,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'},
                       'benefit3':
                       {'value': 32,
                        'currency': 919,
                        'unit': 'gal',
                        'label': 'stormwater',
                        'unit-name': 'eco'}}}
        new_group = {'group1':
                     {'benefit1':
                      {'value': 5,
                       'currency': 11,
                       'unit': 'gal',
                       'label': 'stormwater',
                       'unit-name': 'eco'},
                      'benefit2':
                      {'value': 7,
                       'unit': 'gal',
                       'currency': 19,
                       'label': 'stormwater',
                       'unit-name': 'eco'},
                      'benefit4':
                      {'value': 7,
                       'unit': 'gal',
                       'label': 'stormwater',
                       'unit-name': 'eco'}}}
        groups = {}
        _combine_grouped_benefits(groups, base_group)
        _combine_grouped_benefits(groups, new_group)

        target = {'group1':
                  {'benefit1':
                   {'value': 8,
                    'currency': 11,
                    'unit': 'gal',
                    'label': 'stormwater',
                    'unit-name': 'eco'},
                   'benefit2':
                   {'value': 11,
                    'currency': 29,
                    'unit': 'gal',
                    'label': 'stormwater',
                    'unit-name': 'eco'},
                   'benefit3':
                   {'value': 32,
                    'currency': 919,
                    'unit': 'gal',
                    'label': 'stormwater',
                    'unit-name': 'eco'},
                   'benefit4':
                   {'value': 7,
                    'unit': 'gal',
                    'label': 'stormwater',
                    'unit-name': 'eco'}}}

        self.assertEqual(groups, target)