@@ -41,7 +41,7 @@ def test_family_properties(self):
4141 assert self .normal_family .name == FamilyName .NORMAL
4242
4343 # Check parameterizations
44- expected_parametrizations = {"meanStd" , "meanPrec" , "exponential" }
44+ expected_parametrizations = {"meanStd" , "meanVar" , " meanPrec" , "exponential" }
4545 assert set (self .normal_family .parametrization_names ) == expected_parametrizations
4646 assert self .normal_family .base_parametrization_name == "meanStd"
4747
@@ -54,6 +54,13 @@ def test_mean_std_parametrization_creation(self):
5454 assert dist .parameters == {"mu" : 2.0 , "sigma" : 1.5 }
5555 assert dist .parametrization_name == "meanStd"
5656
57+ def test_mean_var_parametrization_creation (self ):
58+ """Test creation of distribution with mean-variance parametrization."""
59+ dist = self .normal_family (mu = 2.0 , var = 2.25 , parametrization_name = "meanVar" )
60+
61+ assert dist .parameters == {"mu" : 2.0 , "var" : 2.25 }
62+ assert dist .parametrization_name == "meanVar"
63+
5764 def test_mean_prec_parametrization_creation (self ):
5865 """Test creation of distribution with mean-precision parametrization."""
5966 dist = self .normal_family (mu = 2.0 , tau = 0.25 , parametrization_name = "meanPrec" )
@@ -75,6 +82,10 @@ def test_parametrization_constraints(self):
7582 with pytest .raises (ValueError , match = "sigma > 0" ):
7683 self .normal_family (mu = 0 , sigma = - 1.0 )
7784
85+ # Var must be positive
86+ with pytest .raises (ValueError , match = "var > 0" ):
87+ self .normal_family (mu = 0 , var = - 1.0 , parametrization_name = "meanVar" )
88+
7889 # Tau must be positive
7990 with pytest .raises (ValueError , match = "tau > 0" ):
8091 self .normal_family (mu = 0 , tau = - 1.0 , parametrization_name = "meanPrec" )
@@ -113,6 +124,7 @@ def test_kurtosis_calculation(self):
113124 "parametrization_name, params, expected_mu, expected_sigma" ,
114125 [
115126 ("meanStd" , {"mu" : 2.0 , "sigma" : 1.5 }, 2.0 , 1.5 ),
127+ ("meanVar" , {"mu" : 2.0 , "var" : 2.25 }, 2.0 , 1.5 ),
116128 ("meanPrec" , {"mu" : 2.0 , "tau" : 0.25 }, 2.0 , math .sqrt (1 / 0.25 )),
117129 ("exponential" , {"a" : - 1 / (2 * 1.5 ** 2 ), "b" : 2 / (1.5 ** 2 )}, 2.0 , 1.5 ),
118130 ],
0 commit comments