Skip to content

Commit 89671e0

Browse files
committed
Standardize test attributes to rstest
1 parent a8a4591 commit 89671e0

33 files changed

+164
-129
lines changed

crates/adapters/coinbase_intx/src/fix/messages.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,10 +328,11 @@ impl FixMessage {
328328
#[cfg(test)]
329329
mod tests {
330330
use chrono::TimeZone;
331+
use rstest::rstest;
331332

332333
use super::*;
333334

334-
#[test]
335+
#[rstest]
335336
fn test_fix_message_to_bytes_simple() {
336337
let timestamp = Utc.with_ymd_and_hms(2025, 3, 22, 12, 34, 56).unwrap();
337338
let mut msg = FixMessage::new(fix_message_type::LOGON, 1, "SENDER", "TARGET", &timestamp);
@@ -347,7 +348,7 @@ mod tests {
347348
assert_eq!(message, expected);
348349
}
349350

350-
#[test]
351+
#[rstest]
351352
fn test_fix_message_to_bytes_complete_logon() {
352353
let timestamp = Utc.with_ymd_and_hms(2025, 3, 22, 12, 34, 56).unwrap();
353354
let msg = FixMessage::create_logon(

crates/analysis/src/analyzer.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ mod tests {
404404
instruments::InstrumentAny,
405405
types::{AccountBalance, Money, Price, Quantity},
406406
};
407+
use rstest::rstest;
407408

408409
use super::*;
409410

@@ -581,7 +582,7 @@ mod tests {
581582
}
582583
}
583584

584-
#[test]
585+
#[rstest]
585586
fn test_register_and_deregister_statistics() {
586587
let mut analyzer = PortfolioAnalyzer::new();
587588
let stat = Arc::new(MockStatistic::new("test_stat"));
@@ -603,7 +604,7 @@ mod tests {
603604
assert!(analyzer.statistics.is_empty());
604605
}
605606

606-
#[test]
607+
#[rstest]
607608
fn test_calculate_total_pnl() {
608609
let mut analyzer = PortfolioAnalyzer::new();
609610
let currency = Currency::USD();
@@ -634,7 +635,7 @@ mod tests {
634635
assert_eq!(result, 600.0);
635636
}
636637

637-
#[test]
638+
#[rstest]
638639
fn test_calculate_total_pnl_percentage() {
639640
let mut analyzer = PortfolioAnalyzer::new();
640641
let currency = Currency::USD();
@@ -667,7 +668,7 @@ mod tests {
667668
assert_eq!(result, 100.0); // (2000 - 1000) / 1000 * 100
668669
}
669670

670-
#[test]
671+
#[rstest]
671672
fn test_add_positions_and_returns() {
672673
let mut analyzer = PortfolioAnalyzer::new();
673674
let currency = Currency::USD();
@@ -691,7 +692,7 @@ mod tests {
691692
assert_eq!(*returns.values().next().unwrap(), 0.30000000000000004);
692693
}
693694

694-
#[test]
695+
#[rstest]
695696
fn test_performance_stats_calculation() {
696697
let mut analyzer = PortfolioAnalyzer::new();
697698
let currency = Currency::USD();
@@ -734,7 +735,7 @@ mod tests {
734735
assert!(general_stats.contains_key("test_stat"));
735736
}
736737

737-
#[test]
738+
#[rstest]
738739
fn test_formatted_output() {
739740
let mut analyzer = PortfolioAnalyzer::new();
740741
let currency = Currency::USD();
@@ -775,7 +776,7 @@ mod tests {
775776
assert!(general_formatted.iter().all(|s| s.contains(':')));
776777
}
777778

778-
#[test]
779+
#[rstest]
779780
fn test_reset() {
780781
let mut analyzer = PortfolioAnalyzer::new();
781782
let currency = Currency::USD();

crates/analysis/src/statistics/expectancy.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,19 @@ impl PortfolioStatistic for Expectancy {
5656

5757
#[cfg(test)]
5858
mod tests {
59+
use rstest::rstest;
60+
5961
use super::*;
6062

61-
#[test]
63+
#[rstest]
6264
fn test_empty_pnl_list() {
6365
let expectancy = Expectancy {};
6466
let result = expectancy.calculate_from_realized_pnls(&[]);
6567
assert!(result.is_some());
6668
assert_eq!(result.unwrap(), 0.0);
6769
}
6870

69-
#[test]
71+
#[rstest]
7072
fn test_all_winners() {
7173
let expectancy = Expectancy {};
7274
let pnls = vec![10.0, 20.0, 30.0];
@@ -78,7 +80,7 @@ mod tests {
7880
assert_eq!(result.unwrap(), 20.0);
7981
}
8082

81-
#[test]
83+
#[rstest]
8284
fn test_all_losers() {
8385
let expectancy = Expectancy {};
8486
let pnls = vec![-10.0, -20.0, -30.0];
@@ -90,7 +92,7 @@ mod tests {
9092
assert_eq!(result.unwrap(), -20.0);
9193
}
9294

93-
#[test]
95+
#[rstest]
9496
fn test_mixed_pnls() {
9597
let expectancy = Expectancy {};
9698
let pnls = vec![10.0, -5.0, 15.0, -10.0];
@@ -106,7 +108,7 @@ mod tests {
106108
assert_eq!(result.unwrap(), 2.5);
107109
}
108110

109-
#[test]
111+
#[rstest]
110112
fn test_single_trade() {
111113
let expectancy = Expectancy {};
112114
let pnls = vec![10.0];
@@ -118,7 +120,7 @@ mod tests {
118120
assert_eq!(result.unwrap(), 10.0);
119121
}
120122

121-
#[test]
123+
#[rstest]
122124
fn test_name() {
123125
let expectancy = Expectancy {};
124126
assert_eq!(expectancy.name(), "Expectancy");

crates/analysis/src/statistics/long_ratio.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ mod tests {
7474
},
7575
types::{Currency, Quantity},
7676
};
77+
use rstest::rstest;
7778

7879
use super::*;
7980

@@ -115,14 +116,14 @@ mod tests {
115116
}
116117
}
117118

118-
#[test]
119+
#[rstest]
119120
fn test_empty_positions() {
120121
let long_ratio = LongRatio::new(None);
121122
let result = long_ratio.calculate_from_positions(&[]);
122123
assert!(result.is_none());
123124
}
124125

125-
#[test]
126+
#[rstest]
126127
fn test_all_long_positions() {
127128
let long_ratio = LongRatio::new(None);
128129
let positions = vec![
@@ -136,7 +137,7 @@ mod tests {
136137
assert_eq!(result.unwrap(), 1.00);
137138
}
138139

139-
#[test]
140+
#[rstest]
140141
fn test_all_short_positions() {
141142
let long_ratio = LongRatio::new(None);
142143
let positions = vec![
@@ -150,7 +151,7 @@ mod tests {
150151
assert_eq!(result.unwrap(), 0.00);
151152
}
152153

153-
#[test]
154+
#[rstest]
154155
fn test_mixed_positions() {
155156
let long_ratio = LongRatio::new(None);
156157
let positions = vec![
@@ -165,7 +166,7 @@ mod tests {
165166
assert_eq!(result.unwrap(), 0.50);
166167
}
167168

168-
#[test]
169+
#[rstest]
169170
fn test_custom_precision() {
170171
let long_ratio = LongRatio::new(Some(3));
171172
let positions = vec![
@@ -179,7 +180,7 @@ mod tests {
179180
assert_eq!(result.unwrap(), 0.667);
180181
}
181182

182-
#[test]
183+
#[rstest]
183184
fn test_single_position_long() {
184185
let long_ratio = LongRatio::new(None);
185186
let positions = vec![create_test_position(OrderSide::Buy)];
@@ -189,7 +190,7 @@ mod tests {
189190
assert_eq!(result.unwrap(), 1.00);
190191
}
191192

192-
#[test]
193+
#[rstest]
193194
fn test_single_position_short() {
194195
let long_ratio = LongRatio::new(None);
195196
let positions = vec![create_test_position(OrderSide::Sell)];
@@ -199,7 +200,7 @@ mod tests {
199200
assert_eq!(result.unwrap(), 0.00);
200201
}
201202

202-
#[test]
203+
#[rstest]
203204
fn test_zero_precision() {
204205
let long_ratio = LongRatio::new(Some(0));
205206
let positions = vec![
@@ -213,7 +214,7 @@ mod tests {
213214
assert_eq!(result.unwrap(), 1.00);
214215
}
215216

216-
#[test]
217+
#[rstest]
217218
fn test_name() {
218219
let long_ratio = LongRatio::new(None);
219220
assert_eq!(long_ratio.name(), "LongRatio");

crates/analysis/src/statistics/loser_avg.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,19 @@ impl PortfolioStatistic for AvgLoser {
5252

5353
#[cfg(test)]
5454
mod tests {
55+
use rstest::rstest;
56+
5557
use super::*;
5658

57-
#[test]
59+
#[rstest]
5860
fn test_empty_pnls() {
5961
let avg_loser = AvgLoser {};
6062
let result = avg_loser.calculate_from_realized_pnls(&[]);
6163
assert!(result.is_some());
6264
assert_eq!(result.unwrap(), 0.0);
6365
}
6466

65-
#[test]
67+
#[rstest]
6668
fn test_no_losers() {
6769
let avg_loser = AvgLoser {};
6870
let pnls = vec![10.0, 20.0, 30.0];
@@ -71,7 +73,7 @@ mod tests {
7173
assert_eq!(result.unwrap(), 0.0);
7274
}
7375

74-
#[test]
76+
#[rstest]
7577
fn test_only_losers() {
7678
let avg_loser = AvgLoser {};
7779
let pnls = vec![-10.0, -20.0, -30.0];
@@ -80,7 +82,7 @@ mod tests {
8082
assert_eq!(result.unwrap(), -20.0);
8183
}
8284

83-
#[test]
85+
#[rstest]
8486
fn test_mixed_pnls() {
8587
let avg_loser = AvgLoser {};
8688
let pnls = vec![10.0, -20.0, 30.0, -40.0];
@@ -89,7 +91,7 @@ mod tests {
8991
assert_eq!(result.unwrap(), -30.0);
9092
}
9193

92-
#[test]
94+
#[rstest]
9395
fn test_zero_included() {
9496
let avg_loser = AvgLoser {};
9597
let pnls = vec![10.0, 0.0, -20.0, -30.0];
@@ -99,7 +101,7 @@ mod tests {
99101
assert_eq!(result.unwrap(), -16.666666666666668);
100102
}
101103

102-
#[test]
104+
#[rstest]
103105
fn test_single_loser() {
104106
let avg_loser = AvgLoser {};
105107
let pnls = vec![-10.0];
@@ -108,7 +110,7 @@ mod tests {
108110
assert_eq!(result.unwrap(), -10.0);
109111
}
110112

111-
#[test]
113+
#[rstest]
112114
fn test_name() {
113115
let avg_loser = AvgLoser {};
114116
assert_eq!(avg_loser.name(), "AvgLoser");

crates/analysis/src/statistics/loser_max.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,25 +45,27 @@ impl PortfolioStatistic for MaxLoser {
4545

4646
#[cfg(test)]
4747
mod tests {
48+
use rstest::rstest;
49+
4850
use super::*;
4951

50-
#[test]
52+
#[rstest]
5153
fn test_empty_pnls() {
5254
let max_loser = MaxLoser {};
5355
let result = max_loser.calculate_from_realized_pnls(&[]);
5456
assert!(result.is_some());
5557
assert_eq!(result.unwrap(), 0.0);
5658
}
5759

58-
#[test]
60+
#[rstest]
5961
fn test_all_positive() {
6062
let max_loser = MaxLoser {};
6163
let pnls = vec![10.0, 20.0, 30.0];
6264
let result = max_loser.calculate_from_realized_pnls(&pnls);
6365
assert!(result.is_none());
6466
}
6567

66-
#[test]
68+
#[rstest]
6769
fn test_all_negative() {
6870
let max_loser = MaxLoser {};
6971
let pnls = vec![-10.0, -20.0, -30.0];
@@ -72,7 +74,7 @@ mod tests {
7274
assert_eq!(result.unwrap(), -30.0);
7375
}
7476

75-
#[test]
77+
#[rstest]
7678
fn test_mixed_pnls() {
7779
let max_loser = MaxLoser {};
7880
let pnls = vec![10.0, -20.0, 30.0, -40.0];
@@ -81,7 +83,7 @@ mod tests {
8183
assert_eq!(result.unwrap(), -40.0);
8284
}
8385

84-
#[test]
86+
#[rstest]
8587
fn test_with_zero() {
8688
let max_loser = MaxLoser {};
8789
let pnls = vec![10.0, 0.0, -20.0, -30.0];
@@ -90,7 +92,7 @@ mod tests {
9092
assert_eq!(result.unwrap(), -30.0);
9193
}
9294

93-
#[test]
95+
#[rstest]
9496
fn test_single_value() {
9597
let max_loser = MaxLoser {};
9698
let pnls = vec![-10.0];
@@ -99,7 +101,7 @@ mod tests {
99101
assert_eq!(result.unwrap(), -10.0);
100102
}
101103

102-
#[test]
104+
#[rstest]
103105
fn test_name() {
104106
let max_loser = MaxLoser {};
105107
assert_eq!(max_loser.name(), "MaxLoser");

0 commit comments

Comments
 (0)