Example #1
0
    def testCalculatedValues(self):

        # Test calculations in 'normal' order
        data = {'one': 5, 'two': 10, 'three': 15}
        calculations = {
                'four': lambda d: d['one'] + d['three'],
                'five': lambda d: d['one'] + d['four'] }
        actual = calculatevalues(data, calculations)
        expected = {'one': 5, 'two': 10, 'three': 15, 'four': 20, 'five': 25}

        self.assertEquals(expected, actual)

        # Test calculations in 'reverse' order
        data = {'one': 5, 'two': 10, 'three': 15}
        calculations = {
                'five': lambda d: d['one'] + d['four'],
                'four': lambda d: d['one'] + d['three']}
        actual = calculatevalues(data, calculations)
        expected = {'one': 5, 'two': 10, 'three': 15, 'four': 20, 'five': 25}

        self.assertEquals(expected, actual)
Example #2
0
 def _add_calculated_columns(self, row):
     """Add Calculated Columns to row of data."""
     row = calculatevalues(
             dict(zip(self._rawcolumns, row)), 
             self._calculatedcolumns)
     return [row[k] for k in self._allcolumns]