Skip to content

Commit 0b317f0

Browse files
committed
Add type mismatch test
1 parent 5ee2a46 commit 0b317f0

File tree

4 files changed

+30
-0
lines changed

4 files changed

+30
-0
lines changed

dsc_lib/src/functions/greater.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,12 @@ mod tests {
8282
let result = parser.parse_and_execute("[greater('b','a')]", &Context::new()).unwrap();
8383
assert_eq!(result, true);
8484
}
85+
86+
#[test]
87+
fn type_mismatch_string_number() {
88+
let mut parser = Statement::new().unwrap();
89+
let result = parser.parse_and_execute("[greater('5', 3)]", &Context::new());
90+
assert!(result.is_err());
91+
assert!(result.unwrap_err().to_string().contains("Arguments must be of the same type"));
92+
}
8593
}

dsc_lib/src/functions/greater_or_equals.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,12 @@ mod tests {
8282
let result = parser.parse_and_execute("[greaterOrEquals('b','a')]", &Context::new()).unwrap();
8383
assert_eq!(result, true);
8484
}
85+
86+
#[test]
87+
fn type_mismatch_string_number() {
88+
let mut parser = Statement::new().unwrap();
89+
let result = parser.parse_and_execute("[greaterOrEquals('5', 3)]", &Context::new());
90+
assert!(result.is_err());
91+
assert!(result.unwrap_err().to_string().contains("Arguments must be of the same type"));
92+
}
8593
}

dsc_lib/src/functions/less.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,11 @@ mod tests {
8282
let result = parser.parse_and_execute("[less('a','b')]", &Context::new()).unwrap();
8383
assert_eq!(result, true);
8484
}
85+
86+
fn type_mismatch_string_number() {
87+
let mut parser = Statement::new().unwrap();
88+
let result = parser.parse_and_execute("[lessOrEquals('5', 3)]", &Context::new());
89+
assert!(result.is_err());
90+
assert!(result.unwrap_err().to_string().contains("Arguments must be of the same type"));
91+
}
8592
}

dsc_lib/src/functions/less_or_equals.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,11 @@ mod tests {
8282
let result = parser.parse_and_execute("[lessOrEquals('a','b')]", &Context::new()).unwrap();
8383
assert_eq!(result, true);
8484
}
85+
86+
fn type_mismatch_string_number() {
87+
let mut parser = Statement::new().unwrap();
88+
let result = parser.parse_and_execute("[lessOrEquals('5', 3)]", &Context::new());
89+
assert!(result.is_err());
90+
assert!(result.unwrap_err().to_string().contains("Arguments must be of the same type"));
91+
}
8592
}

0 commit comments

Comments
 (0)