diff --git a/hledger-lib/Hledger/Data/Transaction.hs b/hledger-lib/Hledger/Data/Transaction.hs index ff39178fa..16f0b9fe6 100644 --- a/hledger-lib/Hledger/Data/Transaction.hs +++ b/hledger-lib/Hledger/Data/Transaction.hs @@ -584,7 +584,7 @@ priceInferrerFor t pt = maybe id inferprice inferFromAndTo -- If only one Amount in the posting list matches fromamount we can use TotalPrice. -- Otherwise divide the conversion equally among the Amounts by using a unit price. conversionprice = case filter (== acommodity fromamount) pcommodities of - [_] -> TotalPrice $ negate toamount `withPrecision` NaturalPrecision + [_] -> TotalPrice $ negate toamount _ -> UnitPrice $ negate unitprice `withPrecision` unitprecision unitprice = aquantity fromamount `divideAmount` toamount @@ -918,7 +918,7 @@ tests_Transaction = [ posting {paccount = "a", pamount = mixedAmount (usd 1.35)} , posting {paccount = "b", pamount = mixedAmount (eur (-1))} ])) @?= - Right (mixedAmount $ usd 1.35 @@ (eur 1 `withPrecision` NaturalPrecision)) + Right (mixedAmount $ usd 1.35 @@ eur 1) ,test "balanceTransaction balances based on cost if there are unit prices" $ assertRight $ balanceTransaction diff --git a/hledger/test/journal/auto-postings.test b/hledger/test/journal/auto-postings.test index f8cb27aaf..000bfccfe 100644 --- a/hledger/test/journal/auto-postings.test +++ b/hledger/test/journal/auto-postings.test @@ -230,11 +230,11 @@ $ hledger -f- print --auto # 12. $ hledger -f- print --auto 2018-01-01 ; modified: - Expenses:Joint:Widgets $100.00 - Expenses:Joint $-100.00 @@ £50 ; generated-posting: = ^Expenses:Joint - Liabilities:Joint:Bob $50.00 @@ £25 ; generated-posting: = ^Expenses:Joint - Liabilities:Joint:Bill $50.00 @@ £25 ; generated-posting: = ^Expenses:Joint - Assets:Joint:Bank £-50.00 + Expenses:Joint:Widgets $100.00 + Expenses:Joint $-100.00 @@ £50.00 ; generated-posting: = ^Expenses:Joint + Liabilities:Joint:Bob $50.00 @@ £25.00 ; generated-posting: = ^Expenses:Joint + Liabilities:Joint:Bill $50.00 @@ £25.00 ; generated-posting: = ^Expenses:Joint + Assets:Joint:Bank £-50.00 >=0