From a573f5cf0a6da400d086fe1e0c2181b8389f1263 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Tue, 21 Jun 2022 10:48:04 +0200 Subject: [PATCH] More tests --- src/game.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/game.rs b/src/game.rs index e2f0e76..616ffcc 100644 --- a/src/game.rs +++ b/src/game.rs @@ -409,6 +409,32 @@ mod tests { assert_eq!(c.sigma, 1.8856891308577184); } + #[test] + fn test_2vs1vs2_mixed() { + let t_a = vec![ + Player::new(Gaussian::new(12.0, 3.0), 25.0 / 6.0, 25.0 / 300.0), + Player::new(Gaussian::new(18.0, 3.0), 25.0 / 6.0, 25.0 / 300.0), + ]; + let t_b = vec![Player::new( + Gaussian::new(30.0, 3.0), + 25.0 / 6.0, + 25.0 / 300.0, + )]; + let t_c = vec![ + Player::new(Gaussian::new(14.0, 3.0), 25.0 / 6.0, 25.0 / 300.0), + Player::new(Gaussian::new(16., 3.0), 25.0 / 6.0, 25.0 / 300.0), + ]; + + let g = Game::new(vec![t_a, t_b, t_c], vec![1.0, 0.0, 0.0], vec![], 0.25); + let p = g.posteriors(); + + assert_ulps_eq!(p[0][0], Gaussian::new(13.051, 2.864), epsilon = 1e-3); + assert_ulps_eq!(p[0][1], Gaussian::new(19.051, 2.864), epsilon = 1e-3); + assert_ulps_eq!(p[1][0], Gaussian::new(29.292, 2.764), epsilon = 1e-3); + assert_ulps_eq!(p[2][0], Gaussian::new(13.658, 2.813), epsilon = 1e-3); + assert_ulps_eq!(p[2][1], Gaussian::new(15.658, 2.813), epsilon = 1e-3); + } + #[test] fn test_1vs1_weighted() { let w_a = vec![1.0];