Implement FeeRate AddAssign
This commit is contained in:
parent
0e70870056
commit
c3a8bfa98d
|
@ -3,7 +3,7 @@
|
||||||
//! Implements `FeeRate` and assoctiated features.
|
//! Implements `FeeRate` and assoctiated features.
|
||||||
|
|
||||||
use core::fmt;
|
use core::fmt;
|
||||||
use core::ops::{Add, Sub, Div, Mul};
|
use core::ops::{Add, Sub, Div, Mul, AddAssign};
|
||||||
|
|
||||||
#[cfg(feature = "arbitrary")]
|
#[cfg(feature = "arbitrary")]
|
||||||
use arbitrary::{Arbitrary, Unstructured};
|
use arbitrary::{Arbitrary, Unstructured};
|
||||||
|
@ -216,6 +216,14 @@ impl Div<Weight> for Amount {
|
||||||
fn div(self, rhs: Weight) -> Self::Output { FeeRate(self.to_sat() * 1000 / rhs.to_wu()) }
|
fn div(self, rhs: Weight) -> Self::Output { FeeRate(self.to_sat() * 1000 / rhs.to_wu()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl AddAssign for FeeRate {
|
||||||
|
fn add_assign(&mut self, rhs: Self) { self.0 += rhs.0 }
|
||||||
|
}
|
||||||
|
|
||||||
|
impl AddAssign<&FeeRate> for FeeRate {
|
||||||
|
fn add_assign(&mut self, rhs: &FeeRate) { self.0 += rhs.0 }
|
||||||
|
}
|
||||||
|
|
||||||
crate::impl_parse_str_from_int_infallible!(FeeRate, u64, from_sat_per_kwu);
|
crate::impl_parse_str_from_int_infallible!(FeeRate, u64, from_sat_per_kwu);
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
@ -248,6 +256,17 @@ mod tests {
|
||||||
assert!(&three - &two == one);
|
assert!(&three - &two == one);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn add_assign() {
|
||||||
|
let mut f = FeeRate(1);
|
||||||
|
f += FeeRate(2);
|
||||||
|
assert_eq!(f, FeeRate(3));
|
||||||
|
|
||||||
|
let mut f = FeeRate(1);
|
||||||
|
f += &FeeRate(2);
|
||||||
|
assert_eq!(f, FeeRate(3));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn fee_rate_const_test() {
|
fn fee_rate_const_test() {
|
||||||
assert_eq!(0, FeeRate::ZERO.to_sat_per_kwu());
|
assert_eq!(0, FeeRate::ZERO.to_sat_per_kwu());
|
||||||
|
|
Loading…
Reference in New Issue