Skip to content

Commit a12cb8b

Browse files
committed
Updating unit test
1 parent 096208f commit a12cb8b

File tree

3 files changed

+19
-21
lines changed

3 files changed

+19
-21
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ga4ghphetools"
3-
version = "0.5.20"
3+
version = "0.5.21"
44
edition = "2021"
55
keywords = ["GA4GH", "Phenopacket Schema", "Human Phenotype Ontology"]
66
description = "Generate GA4GH phenopackets from tabular data"

src/etl/etl_tools.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -208,19 +208,19 @@ impl EtlTools {
208208
key: HpoTermDuplet,
209209
value: String)
210210
-> Result<(), String> {
211-
match map.entry(key) {
212-
Entry::Occupied(mut entry) => {
213-
if entry.get() != &value {
214-
let resolved_val = Self::resolve_hpo_conflict(entry.get(), &value)?;
215-
*entry.get_mut() = resolved_val;
216-
}
217-
},
218-
Entry::Vacant(entry) => {
219-
entry.insert(value);
211+
match map.entry(key) {
212+
Entry::Occupied(mut entry) => {
213+
if entry.get() != &value {
214+
let resolved_val = Self::resolve_hpo_conflict(entry.get(), &value)?;
215+
*entry.get_mut() = resolved_val;
220216
}
217+
},
218+
Entry::Vacant(entry) => {
219+
entry.insert(value);
221220
}
222-
Ok(())
223221
}
222+
Ok(())
223+
}
224224

225225
/// Insert multiple HPO term observations into the given map.
226226
///
@@ -263,17 +263,17 @@ impl EtlTools {
263263
let obs_pair: Vec<&str> = obs.split("-").collect();
264264
if obs_pair.len() == 3 {
265265
// something like "current": "HP:0008846-observed-Congenital onset",
266+
// or "HP:0008846-observed-na" (i.e., not onset)
266267
let hp_id = obs_pair[0];
267268
let status = obs_pair[1];
268269
let onset = obs_pair[2];
269-
if crate::age::is_valid_age_string(onset) {
270+
if onset == "na" {
271+
observation_map.insert(hp_id.to_string(), status.to_string());
272+
} else if crate::age::is_valid_age_string(onset) {
270273
observation_map.insert(hp_id.to_string(), onset.to_string());
271274
} else {
272275
return Err(format!("Malformed observation data onset='{onset}' ({obs})"))
273276
}
274-
} else if obs_pair.len() == 2 {
275-
// i.e., no observation data
276-
observation_map.insert(obs_pair[0].to_string(), obs_pair[1].to_string());
277277
} else {
278278
return Err(format!("Malformed observation pair '{obs}'"))
279279
}

tests/integration_etl_dto.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ fn delayed_gross_motor() -> ColumnDto {
138138

139139
#[fixture]
140140
fn gdd_column_valid() -> ColumnDto {
141-
let observed = transformed_from_string("HP:0001263-observed");
141+
let observed = transformed_from_string("HP:0001263-observed-na");
142142
ColumnDto {
143143
id: "61d07214-abb0-45cf-aa67-3218730416c0".to_string(),
144144
header: EtlColumnHeader{
@@ -156,8 +156,8 @@ fn gdd_column_valid() -> ColumnDto {
156156

157157
#[fixture]
158158
fn hypertelorism_column_valid() -> ColumnDto {
159-
let observed = transformed_from_string("HP:0000601-observed;HP:0000316-excluded");
160-
let o2 = transformed_from_string("HP:0000601-excluded;HP:0000316-observed");
159+
let observed = transformed_from_string("HP:0000601-observed-na;HP:0000316-excluded-na");
160+
let o2 = transformed_from_string("HP:0000601-excluded-na;HP:0000316-observed-na");
161161
ColumnDto {
162162
id: "5697a6ef-4855-4230-9bb1-a8511acadcb3".to_string(),
163163
header: EtlColumnHeader {
@@ -514,6 +514,7 @@ fn test_missing_hgvs(
514514
assert!(removed.is_some(), "Entry was not found in hgvs_variants"); // make sure we actually remove the variant
515515
// This should be an error because the Variant row has an allele key that is not in our map
516516
let result = ga4ghphetools::etl::get_cohort_data_from_etl_dto(hpo, etl_dto);
517+
println!("{:?}", result);
517518
assert!(result.is_ok());
518519
}
519520

@@ -677,9 +678,6 @@ fn test_from_file(hpo: Arc<FullCsrOntology>) {
677678
.map_err(|e| format!("Failed to deserialize JSON: {}", e)).unwrap();
678679
let result = ga4ghphetools::etl::get_cohort_data_from_etl_dto(hpo.clone(), dto);
679680
println!("{:?}", result);
680-
681-
682-
683681
}
684682

685683

0 commit comments

Comments
 (0)