From 9f3ff00cf1d872d664465d4a4a2b90dc9536122b Mon Sep 17 00:00:00 2001 From: Michael Macias Date: Tue, 10 Sep 2024 11:12:43 -0500 Subject: [PATCH] vcf/variant/record/info/field/value/array/values/tests: Add number tests --- .../record/info/field/value/array/values.rs | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/noodles-vcf/src/variant/record/info/field/value/array/values.rs b/noodles-vcf/src/variant/record/info/field/value/array/values.rs index 5c6d1168b..2ec6e63b6 100644 --- a/noodles-vcf/src/variant/record/info/field/value/array/values.rs +++ b/noodles-vcf/src/variant/record/info/field/value/array/values.rs @@ -131,6 +131,50 @@ fn count(s: &str) -> usize { mod tests { use super::*; + #[test] + fn test_integer_values() -> io::Result<()> { + let src = ""; + let values: Box> = Box::new(src); + assert_eq!(values.len(), 0); + + let mut iter = values.iter(); + assert!(iter.next().transpose()?.is_none()); + + let src = "8,13,."; + let values: Box> = Box::new(src); + assert_eq!(values.len(), 3); + + let mut iter = values.iter(); + assert_eq!(iter.next().transpose()?, Some(Some(8))); + assert_eq!(iter.next().transpose()?, Some(Some(13))); + assert_eq!(iter.next().transpose()?, Some(None)); + assert!(iter.next().transpose()?.is_none()); + + Ok(()) + } + + #[test] + fn test_float_values() -> io::Result<()> { + let src = ""; + let values: Box> = Box::new(src); + assert_eq!(values.len(), 0); + + let mut iter = values.iter(); + assert!(iter.next().transpose()?.is_none()); + + let src = "8.0,13.0,."; + let values: Box> = Box::new(src); + assert_eq!(values.len(), 3); + + let mut iter = values.iter(); + assert_eq!(iter.next().transpose()?, Some(Some(8.0))); + assert_eq!(iter.next().transpose()?, Some(Some(13.0))); + assert_eq!(iter.next().transpose()?, Some(None)); + assert!(iter.next().transpose()?.is_none()); + + Ok(()) + } + #[test] fn test_character_values() -> io::Result<()> { let src = "";