diff --git a/tests/data/example.model.csv b/tests/data/example.model.csv index 7438c7145..1c2923535 100644 --- a/tests/data/example.model.csv +++ b/tests/data/example.model.csv @@ -10,7 +10,7 @@ Cancer Type,,"Breast, Colorectal, Lung, Prostate, Skin",,,TRUE,DataProperty,,, Family History,,"Breast, Colorectal, Lung, Prostate, Skin",,,TRUE,DataProperty,,,list strict Biospecimen,,,"Sample ID, Patient ID, Tissue Status, Component",,FALSE,DataType,Patient,, Sample ID,,,,,TRUE,DataProperty,,, -Tissue Status,,"Healthy, Malignant",,,TRUE,DataProperty,,, +Tissue Status,,"Healthy, Malignant, None",,,TRUE,DataProperty,,, Bulk RNA-seq Assay,,,"Filename, Sample ID, File Format, Component",,FALSE,DataType,Biospecimen,, Filename,,,,,TRUE,DataProperty,,,#MockFilename filenameExists^^ File Format,,"FASTQ, BAM, CRAM, CSV/TSV",,,TRUE,DataProperty,,, @@ -24,8 +24,8 @@ Check List,,,,,TRUE,DataProperty,,,list Check List Enum,,"ab, cd, ef, gh",,,TRUE,DataProperty,,,list Check List Like,,,,,TRUE,DataProperty,,,list like Check List Like Enum,,"ab, cd, ef, gh",,,TRUE,DataProperty,,,list like -Check List Strict,,,,,TRUE,DataProperty,,,list strict -Check List Enum Strict,,"ab, cd, ef, gh",,,TRUE,DataProperty,,,list strict +Check List Strict,,,,,TRUE,DataProperty,,,list strict +Check List Enum Strict,,"ab, cd, ef, gh",,,TRUE,DataProperty,,,list strict Check Regex List,,,,,TRUE,DataProperty,,,list::regex match [a-f] Check Regex List Strict,,,,,TRUE,DataProperty,,,list strict::regex match [a-f] Check Regex List Like,,,,,TRUE,DataProperty,,,list like::regex match [a-f] diff --git a/tests/data/example.model.jsonld b/tests/data/example.model.jsonld index c4279a605..7e4560d50 100644 --- a/tests/data/example.model.jsonld +++ b/tests/data/example.model.jsonld @@ -540,6 +540,9 @@ }, { "@id": "bts:Malignant" + }, + { + "@id": "bts:None" } ], "sms:displayName": "Tissue Status", @@ -563,6 +566,23 @@ "sms:required": "sms:false", "sms:validationRules": [] }, + { + "@id": "bts:None", + "@type": "rdfs:Class", + "rdfs:comment": "TBD", + "rdfs:label": "None", + "rdfs:subClassOf": [ + { + "@id": "bts:TissueStatus" + } + ], + "schema:isPartOf": { + "@id": "http://schema.biothings.io" + }, + "sms:displayName": "None", + "sms:required": "sms:false", + "sms:validationRules": [] + }, { "@id": "bts:BulkRNA-seqAssay", "@type": "rdfs:Class", diff --git a/tests/data/mock_manifests/Invalid_none_value_test_manifest.csv b/tests/data/mock_manifests/Invalid_none_value_test_manifest.csv new file mode 100644 index 000000000..8230442f3 --- /dev/null +++ b/tests/data/mock_manifests/Invalid_none_value_test_manifest.csv @@ -0,0 +1,6 @@ +Sample ID,Patient ID,Tissue Status,Component +1,1,Healthy,Biospecimen +2,2,Malignant,Biospecimen +3,3,None,Biospecimen +4,4,None,Biospecimen +5,5,InvalidValue,Biospecimen diff --git a/tests/data/mock_manifests/Valid_none_value_test_manifest.csv b/tests/data/mock_manifests/Valid_none_value_test_manifest.csv new file mode 100644 index 000000000..b7a0666d6 --- /dev/null +++ b/tests/data/mock_manifests/Valid_none_value_test_manifest.csv @@ -0,0 +1,6 @@ +Sample ID,Patient ID,Tissue Status,Component +1,1,Healthy,Biospecimen +2,2,Malignant,Biospecimen +3,3,None,Biospecimen +4,4,None,Biospecimen +5,5,None,Biospecimen \ No newline at end of file diff --git a/tests/integration/test_commands.py b/tests/integration/test_commands.py index 7471101ec..342736ab1 100644 --- a/tests/integration/test_commands.py +++ b/tests/integration/test_commands.py @@ -339,7 +339,7 @@ def test_generate_empty_google_sheet_manifests( assert False, f"Unexpected data validation found: {dv}" assert tissue_status_validation is not None assert tissue_status_validation.type == "list" - assert tissue_status_validation.formula1 == "Sheet2!$C$2:$C$3" + assert tissue_status_validation.formula1 == "Sheet2!$C$2:$C$4" # required fields are marked as “light blue”, while other non-required fields are marked as white. for col in ["Sample ID", "Patient ID", "Tissue Status", "Component"]: diff --git a/tests/test_schemas.py b/tests/test_schemas.py index 409c653b0..670aa2474 100644 --- a/tests/test_schemas.py +++ b/tests/test_schemas.py @@ -462,7 +462,7 @@ def test_generate_data_model_graph(self, helpers, data_model, data_model_labels) ) # Check Edge directions - assert 4 == (len(graph.out_edges("TissueStatus"))) + assert 6 == (len(graph.out_edges("TissueStatus"))) assert 2 == (len(graph.in_edges("TissueStatus")))