public void setup() throws Exception {
this.moneyPresenter = new MoneyPresenter();
this.sumOfMoneyPresenter = new SumOfMoneyPresenter(moneyPresenter);
this.presenter = new TagHierarchyPresenter(sumOfMoneyPresenter);
this.restaurants = new Node(tag("restaurants"), new SumOfMoney(money("20.00", USD), 1), ImmutableList.<Node>of());
this.groceries = new Node(tag("groceries"), new SumOfMoney(money("30.00", USD), 1), ImmutableList.<Node>of());
this.food = new Node(tag("food"), new SumOfMoney(money("50.00", USD), 2), ImmutableList.of(restaurants, groceries));
this.entertainment = new Node(tag("entertainment"), new SumOfMoney(money("50.00", USD), 1), ImmutableList.<Node>of());
this.hierarchy = new TagHierarchy(ImmutableList.of(food, entertainment), new SumOfMoney(money("100.00", USD), 3));
}