9
9
10
10
BOOST_FIXTURE_TEST_SUITE (amount_tests, BasicTestingSetup)
11
11
12
+ BOOST_AUTO_TEST_CASE(MoneyRangeTest)
13
+ {
14
+ BOOST_CHECK_EQUAL (MoneyRange (CAmount (-1 )), false );
15
+ BOOST_CHECK_EQUAL (MoneyRange (MAX_MONEY + CAmount (1 )), false );
16
+ BOOST_CHECK_EQUAL (MoneyRange (CAmount (1 )), true );
17
+ }
18
+
12
19
BOOST_AUTO_TEST_CASE (GetFeeTest)
13
20
{
14
- CFeeRate feeRate;
21
+ CFeeRate feeRate, altFeeRate ;
15
22
16
23
feeRate = CFeeRate (0 );
17
24
// Must always return 0
@@ -53,6 +60,11 @@ BOOST_AUTO_TEST_CASE(GetFeeTest)
53
60
BOOST_CHECK_EQUAL (feeRate.GetFee (8 ), -1 ); // Special case: returns -1 instead of 0
54
61
BOOST_CHECK_EQUAL (feeRate.GetFee (9 ), -1 );
55
62
63
+ // check alternate constructor
64
+ feeRate = CFeeRate (1000 );
65
+ altFeeRate = CFeeRate (feeRate);
66
+ BOOST_CHECK_EQUAL (feeRate.GetFee (100 ), altFeeRate.GetFee (100 ));
67
+
56
68
// Check full constructor
57
69
// default value
58
70
BOOST_CHECK (CFeeRate (CAmount (-1 ), 1000 ) == CFeeRate (-1 ));
@@ -68,4 +80,28 @@ BOOST_AUTO_TEST_CASE(GetFeeTest)
68
80
CFeeRate (MAX_MONEY, std::numeric_limits<size_t >::max () >> 1 ).GetFeePerK ();
69
81
}
70
82
83
+ BOOST_AUTO_TEST_CASE (BinaryOperatorTest)
84
+ {
85
+ CFeeRate a, b;
86
+ a = CFeeRate (1 );
87
+ b = CFeeRate (2 );
88
+ BOOST_CHECK (a < b);
89
+ BOOST_CHECK (b > a);
90
+ BOOST_CHECK (a == a);
91
+ BOOST_CHECK (a <= b);
92
+ BOOST_CHECK (a <= a);
93
+ BOOST_CHECK (b >= a);
94
+ BOOST_CHECK (b >= b);
95
+ // a should be 0.00000002 BTC/kB now
96
+ a += a;
97
+ BOOST_CHECK (a == b);
98
+ }
99
+
100
+ BOOST_AUTO_TEST_CASE (ToStringTest)
101
+ {
102
+ CFeeRate feeRate;
103
+ feeRate = CFeeRate (1 );
104
+ BOOST_CHECK_EQUAL (feeRate.ToString (), " 0.00000001 BTC/kB" );
105
+ }
106
+
71
107
BOOST_AUTO_TEST_SUITE_END ()
0 commit comments