@@ -29,7 +29,7 @@ def data():
29
29
30
30
31
31
def test_init ():
32
- covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" )
32
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "A" )
33
33
assert covmodel .alt_cov == ["alt_cat" ]
34
34
assert covmodel .ref_cov == ["ref_cat" ]
35
35
@@ -41,26 +41,51 @@ def test_init():
41
41
CatCovModel (alt_cov = ["a" , "b" ])
42
42
43
43
with pytest .raises (ValueError ):
44
- CatCovModel (alt_cov = "a" , ref_cov = ["a" , "b" ])
44
+ CatCovModel (alt_cov = "a" , ref_cov = ["a" , "b" ], ref_cat = "A" )
45
45
46
46
47
47
def test_attach_data (data ):
48
- covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" )
48
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "A" )
49
49
assert not hasattr (covmodel , "cats" )
50
50
covmodel .attach_data (data )
51
51
assert covmodel .cats .to_list () == ["A" , "B" , "C" , "D" ]
52
52
53
53
54
+ def test_ref_cov (data ):
55
+ with pytest .raises (ValueError ):
56
+ covmodel = CatCovModel (
57
+ alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "E"
58
+ )
59
+ covmodel .attach_data (data )
60
+
61
+ with pytest .raises (ValueError ):
62
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cat = "A" )
63
+
64
+ covmodel = CatCovModel (alt_cov = "alt_cat" )
65
+ covmodel .attach_data (data )
66
+ assert covmodel .ref_cat is None
67
+
68
+ with pytest .warns ():
69
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" )
70
+ assert covmodel .ref_cat is None
71
+ covmodel .attach_data (data )
72
+ assert covmodel .ref_cat == "A"
73
+
74
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "B" )
75
+ covmodel .attach_data (data )
76
+ assert covmodel .ref_cat == "B"
77
+
78
+
54
79
def test_has_data (data ):
55
- covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" )
80
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "A" )
56
81
assert not covmodel .has_data ()
57
82
58
83
covmodel .attach_data (data )
59
84
assert covmodel .has_data ()
60
85
61
86
62
87
def test_encode (data ):
63
- covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" )
88
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "A" )
64
89
covmodel .attach_data (data )
65
90
66
91
mat = covmodel .encode (["A" , "B" , "C" , "C" ])
@@ -77,8 +102,16 @@ def test_encode(data):
77
102
assert np .allclose (mat , true_mat )
78
103
79
104
105
+ def test_encode_fail (data ):
106
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "A" )
107
+ covmodel .attach_data (data )
108
+
109
+ with pytest .raises (ValueError ):
110
+ covmodel .encode (["A" , "B" , "C" , "E" ])
111
+
112
+
80
113
def test_create_design_mat (data ):
81
- covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" )
114
+ covmodel = CatCovModel (alt_cov = "alt_cat" , ref_cov = "ref_cat" , ref_cat = "A" )
82
115
covmodel .attach_data (data )
83
116
84
117
alt_mat , ref_mat = covmodel .create_design_mat (data )
0 commit comments