MCPcopy Create free account
hub / github.com/ElementsProject/lightning / test_amount_with_fee

Function test_amount_with_fee

common/test/run-amount.c:109–168  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109static void test_amount_with_fee(void)
110{
111 for (int basebits = 0; basebits < 33; basebits++) {
112 u32 base = (1ULL << basebits);
113
114 for (int propbits = 0; propbits < 20; propbits++) {
115 u32 prop = (1ULL << propbits);
116
117 for (int amtbits1 = 0; amtbits1 < 63; amtbits1++) {
118 for (int amtbits2 = 0; amtbits2 < 63; amtbits2++) {
119 test_amount_sub_fee(amount_msat((1ULL << amtbits1) | (1ULL << amtbits2)), base, prop);
120 }
121 }
122 }
123 }
124
125 for (int basebits = 0; basebits < 33; basebits++) {
126 u32 base = (1ULL << basebits);
127 for (int propbits = 0; propbits < 20; propbits++) {
128 u32 prop = (1ULL << propbits);
129 test_amount_fee(amount_msat(0), base, prop,
130 amount_msat(base));
131 }
132 }
133 for (int basebits = 0; basebits < 33; basebits++) {
134 u32 base = (1ULL << basebits);
135 for (int amtbits = 0; amtbits < 63; amtbits++)
136 test_amount_fee(amount_msat(1ULL << amtbits), base, 0,
137 amount_msat(base));
138 }
139 for (int amtbits = 0; amtbits < 63; amtbits++)
140 test_amount_fee(amount_msat(1ULL << amtbits), 0, 0,
141 amount_msat(0));
142
143 test_amount_fee_str("1msat", 1, 1, 1);
144 test_amount_fee_str("1msat", 1, 500000, 1);
145 test_amount_fee_str("1msat", 1, 1000000, 2);
146
147 test_amount_fee_str("1msat", 1234567890, 1, 1234567890ULL);
148 test_amount_fee_str("1msat", 1234567890, 500000, 1234567890ULL);
149 test_amount_fee_str("1msat", 1234567890, 1000000, 1234567891ULL);
150
151 test_amount_fee_str("1btc", 1, 1, 100001ULL);
152 test_amount_fee_str("1btc", 1, 500000, 50000000001ULL);
153 test_amount_fee_str("1btc", 1, 1000000, 100000000001ULL);
154
155 test_amount_fee_str("1btc", 1234567890, 1, 1234667890ULL);
156 test_amount_fee_str("1btc", 1234567890, 500000, 51234567890ULL);
157 test_amount_fee_str("1btc", 1234567890, 1000000, 101234567890ULL);
158
159 test_amount_fee_str("21000000btc", 1, 1, 2100000000001ULL);
160 test_amount_fee_str("21000000btc", 1, 500000, 1050000000000000001ULL);
161 test_amount_fee_str("21000000btc", 1, 1000000, 2100000000000000001ULL);
162
163 test_amount_fee_str("21000000btc", 1234567890, 1, 2101234567890ULL);
164 test_amount_fee_str("21000000btc", 1234567890, 500000,
165 1050000001234567890ULL);
166 test_amount_fee_str("21000000btc", 1234567890, 1000000,

Callers 1

mainFunction · 0.85

Calls 4

test_amount_sub_feeFunction · 0.85
test_amount_feeFunction · 0.85
test_amount_fee_strFunction · 0.85
amount_msatClass · 0.70

Tested by

no test coverage detected