From 826d80cb4bd455dcca49320819173ecb2e454669 Mon Sep 17 00:00:00 2001 From: Peter Goodspeed-Niklaus Date: Thu, 1 Oct 2020 23:55:52 +0200 Subject: [PATCH] rna-transcription: avoid using assert!(something().is_err()) `assert!(something().is_err())` is an antipattern in testing because it hides the particular error, and most of the time that is undesired. It's better to expect a particular error result. This demonstrates better error-handling techniques for students. --- exercises/rna-transcription/tests/rna-transcription.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/exercises/rna-transcription/tests/rna-transcription.rs b/exercises/rna-transcription/tests/rna-transcription.rs index dc997db09..a7ddb99ab 100644 --- a/exercises/rna-transcription/tests/rna-transcription.rs +++ b/exercises/rna-transcription/tests/rna-transcription.rs @@ -26,11 +26,11 @@ fn test_invalid_dna_input() { #[ignore] fn test_invalid_rna_input() { // Invalid character - assert!(dna::RNA::new("X").is_err()); + assert_eq!(dna::RNA::new("X").unwrap_err(), 0); // Valid nucleotide, but invalid in context - assert!(dna::RNA::new("T").is_err()); + assert_eq!(dna::RNA::new("T").unwrap_err(), 0); // Longer string with contained errors - assert!(dna::RNA::new("ACGUTTXCUUAA").is_err()); + assert_eq!(dna::RNA::new("ACGUTTXCUUAA").unwrap_err(), 4); } #[test]