@@ -106,6 +106,16 @@ def test_variant_position(self, ds):
106106 def test_variant_allele (self , ds ):
107107 nt .assert_array_equal (ds .variant_allele , [["A" , "G" ], ["T" , "C" ]])
108108
109+ def test_contig_id (self , ds ):
110+ """Test that contig identifiers are correctly extracted and stored."""
111+ nt .assert_array_equal (ds .contig_id , ["1" ])
112+
113+ def test_variant_contig (self , ds ):
114+ """Test that variant to contig mapping is correctly stored."""
115+ nt .assert_array_equal (
116+ ds .variant_contig , [0 , 0 ]
117+ ) # Both variants on chromosome 1
118+
109119 def test_genotypes (self , ds ):
110120 call_genotype = ds .call_genotype .values
111121 assert call_genotype .shape == (2 , 10 , 2 )
@@ -196,6 +206,24 @@ def test_genotypes(self, ds):
196206 # FIXME not working
197207 nt .assert_array_equal (actual , expected )
198208
209+ def test_contig_arrays (self , ds ):
210+ """Test that contig arrays are correctly created and filled."""
211+ # Verify contig_id exists and is a string array
212+ assert hasattr (ds , "contig_id" )
213+ assert ds .contig_id .dtype == np .dtype ("O" )
214+
215+ # Verify variant_contig exists and contains integer indices
216+ assert hasattr (ds , "variant_contig" )
217+ assert ds .variant_contig .dtype == np .dtype ("int8" )
218+ assert ds .variant_contig .shape [0 ] == 100 # 100 variants
219+
220+ # Verify mapping between variant_contig and contig_id
221+ # For each unique contig index, check at least one corresponding variant exists
222+ for i , contig in enumerate (ds .contig_id .values ):
223+ assert np .any (
224+ ds .variant_contig .values == i
225+ ), f"No variants found for contig { contig } "
226+
199227 # @pytest.mark.xfail
200228 @pytest .mark .parametrize (
201229 ("variants_chunk_size" , "samples_chunk_size" ),
0 commit comments