test: 100% coverage for keltner + linreg + linreg_slope + macd + super_trend (#30)

* test(keltner): cover periods accessor + name metadata

Codecov flagged 6 lines (file at 95.23%): periods (68-70) + name (106-108).

* test(linreg): cover period accessor + name metadata

Codecov flagged 6 lines (file at 96.10%): period (92-94) + name (142-144).

* test(linreg_slope): cover period accessor + name metadata

Codecov flagged 6 lines (file at 95.91%): period (80-82) + name (125-127).

* test(macd): cover periods/value accessors + name metadata

Codecov flagged 6 lines (file at 95.45%): periods (81-83) + name (135-137).

* test(super_trend): cover params accessor + name metadata

Codecov flagged 6 lines (file at 96.36%): params (99-101) + name (176-178).
This commit is contained in:
kingchenc
2026-05-24 00:47:59 +02:00
committed by GitHub
parent 8f6ffe5a62
commit 512bbf75c4
5 changed files with 57 additions and 0 deletions
+15
View File
@@ -155,6 +155,21 @@ mod tests {
));
}
/// Cover the const accessors `periods` / `value` (81-88) and the
/// Indicator-impl `name` body (135-137). `warmup_period` is exercised
/// elsewhere.
#[test]
fn accessors_and_metadata() {
let mut m = MacdIndicator::new(12, 26, 9).unwrap();
assert_eq!(m.periods(), (12, 26, 9));
assert_eq!(m.name(), "MACD");
assert!(m.value().is_none());
for i in 1..=m.warmup_period() {
m.update(100.0 + f64::from(u32::try_from(i).unwrap()));
}
assert!(m.value().is_some());
}
#[test]
fn rejects_zero_periods() {
assert!(matches!(