about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2025-09-04 20:56:51 +0100
committerArun Isaac2025-09-04 20:57:16 +0100
commite4ea95ccc95da090f9aabd55b617f7fb5234ae30 (patch)
treedd059aefa90b96ffb95253b1c009a8bde7b33696
parentafca032af0a70b98457ef03f7c218efe2c8d417c (diff)
downloadpyhegp-e4ea95ccc95da090f9aabd55b617f7fb5234ae30.tar.gz
pyhegp-e4ea95ccc95da090f9aabd55b617f7fb5234ae30.tar.lz
pyhegp-e4ea95ccc95da090f9aabd55b617f7fb5234ae30.zip
Parameterize number of samples in genotype frame strategy.
-rw-r--r--tests/helpers/strategies.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/helpers/strategies.py b/tests/helpers/strategies.py
index ed9adde..7e51bc3 100644
--- a/tests/helpers/strategies.py
+++ b/tests/helpers/strategies.py
@@ -45,9 +45,8 @@ reference_column = column(name="reference",
                                             include_characters=("A", "G", "C", "T")),
                               min_size=1))
 
-sample_names = st.lists(tabless_printable_ascii_text
-                        .filter(negate(is_genotype_metadata_column)),
-                        unique=True)
+sample_names = (tabless_printable_ascii_text
+                .filter(negate(is_genotype_metadata_column)))
 
 @st.composite
 def summaries(draw):
@@ -61,12 +60,19 @@ def summaries(draw):
 
 @st.composite
 def genotype_frames(draw,
+                    number_of_samples=st.integers(min_value=0,
+                                                  max_value=10),
                     reference_present=st.booleans()):
+    _number_of_samples = draw(number_of_samples)
     genotype = draw(data_frames(
         columns=([chromosome_column, position_column]
                  + ([reference_column]
                     if draw(reference_present)
                     else [])
+                 + columns(draw(st.lists(sample_names,
+                                         min_size=_number_of_samples,
+                                         max_size=_number_of_samples,
+                                         unique=True)),
                            dtype="float64",
                            elements=st.floats(allow_nan=False)))))
     return genotype.drop_duplicates(subset=list(