Skip to content

Instantly share code, notes, and snippets.

@davebshow
Created April 18, 2017 15:10
Show Gist options
  • Save davebshow/978da33cd5b3b95679d2a2d668e49ed1 to your computer and use it in GitHub Desktop.
Save davebshow/978da33cd5b3b95679d2a2d668e49ed1 to your computer and use it in GitHub Desktop.

Revisions

  1. davebshow created this gist Apr 18, 2017.
    28 changes: 28 additions & 0 deletions test.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    #!/usr/bin/python

    foo = []

    from .models import Expense
    from collections import namedtuple

    MyExpense = namedtuple('F', ['type_', 'amount'])

    # test data
    foo.append(MyExpense('food', 4))
    foo.append(MyExpense('food', 3))
    foo.append(MyExpense('car', 3))
    foo.append(MyExpense('dog', 1))


    def summarizeExpenses(min_amount, input):
    expenses = {}
    for expense in input:
    if expense.amount >= min_amount:
    if not expense.type_ in expenses:
    expenses[expense.type_] = 0
    expenses[expense.type_] = expenses[expense.type_] + expense.amount

    for (expense, amount) in sorted(expenses.items(), key=lambda e: e[1], reverse=False):
    print expense.type_, amount

    summarizeExpenses(2, foo)