Skip to content

Instantly share code, notes, and snippets.

@grampelberg
Created July 16, 2024 18:52
Show Gist options
  • Save grampelberg/d785ef175f8d3e0862a84aef04dd7d1d to your computer and use it in GitHub Desktop.
Save grampelberg/d785ef175f8d3e0862a84aef04dd7d1d to your computer and use it in GitHub Desktop.
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
// This is a really bad adding function, its purpose is to fail in this
// example.
#[allow(dead_code)]
fn bad_add(a: i32, b: i32) -> i32 {
a - b
}
#[cfg(test)]
#[cfg(feature = "test")]
mod tests {
// Note this useful idiom: importing names from outer (for mod tests) scope.
use super::*;
#[test]
fn test_add() {
assert_eq!(add(1, 2), 3);
}
#[test]
fn test_bad_add() {
// This assert would fire and test will fail.
// Please note, that private functions can be tested too!
assert_eq!(bad_add(1, 2), 3);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment