summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2012-02-28 04:02:24 -0600
committerJohn Wiegley <johnw@newartisans.com>2012-02-28 04:02:24 -0600
commit9376b0f7b6a930baa063f0681157c93ba68ed47a (patch)
treef8158a283b149c6bd48611ba554c915e3f6cc265
parentf4a8f6b2484637efc22c02c20d79ad5034647abc (diff)
downloadfork-ledger-9376b0f7b6a930baa063f0681157c93ba68ed47a.tar.gz
fork-ledger-9376b0f7b6a930baa063f0681157c93ba68ed47a.tar.bz2
fork-ledger-9376b0f7b6a930baa063f0681157c93ba68ed47a.zip
Corrected behavior of >= and <=
-rw-r--r--src/value.cc4
-rw-r--r--test/regress/854150DF.test25
2 files changed, 27 insertions, 2 deletions
diff --git a/src/value.cc b/src/value.cc
index f54c06a5..61066f03 100644
--- a/src/value.cc
+++ b/src/value.cc
@@ -869,7 +869,7 @@ bool value_t::is_less_than(const value_t& val) const
case INTEGER:
return as_long() < val.as_long();
case AMOUNT:
- return val.as_amount() >= as_long();
+ return val.as_amount() > as_long();
default:
break;
}
@@ -990,7 +990,7 @@ bool value_t::is_greater_than(const value_t& val) const
case INTEGER:
return as_long() > val.as_long();
case AMOUNT:
- return val.as_amount() > as_long();
+ return val.as_amount() < as_long();
default:
break;
}
diff --git a/test/regress/854150DF.test b/test/regress/854150DF.test
new file mode 100644
index 00000000..7133e183
--- /dev/null
+++ b/test/regress/854150DF.test
@@ -0,0 +1,25 @@
+2011-11-10 * test
+ A:B:C 12.50 GBP
+ A:C
+
+test bal --flat -d "depth>=2"
+ 12.50 GBP A:B:C
+ -12.50 GBP A:C
+--------------------
+ 0
+end test
+
+test bal --flat -d "depth>1"
+ 12.50 GBP A:B:C
+ -12.50 GBP A:C
+--------------------
+ 0
+end test
+
+test bal --flat -d "depth>2"
+ 12.50 GBP A:B:C
+end test
+
+test bal --flat -d "depth==2"
+ -12.50 GBP A:C
+end test