message: two todo items wrt test are done
diff: @@ -15,7 +15,7 @@ pub(super) fn report_and_exit(err: &str) -> ! {
  );
  #[cfg(test)]
  - panic!(); // todo unit test to hit this branch
  + panic!();
  #[cfg(not(test))]
  exit(1);
  }
  @@ -93,7 +93,6 @@ pub fn determine_output_level(quiet: bool, silent: bool) -> OutputLevel {
  if quiet && silent {
  // user COULD have both as true in config file, take the more quiet of the two
  OutputLevel::Silent
  - // todo unit test to hit this branch
  } else if quiet {
  OutputLevel::Quiet
  } else if silent {
  @@ -102,3 +101,31 @@ pub fn determine_output_level(quiet: bool, silent: bool) -> OutputLevel {
  OutputLevel::Default
  }
  }
  +
  +#[cfg(test)]
  +mod tests {
  + use super::*;
  +
  + #[test]
  + /// test determine_output_level returns higher of the two levels if both given values are true
  + fn determine_output_level_returns_correct_results() {
  + let mut level = determine_output_level(true, true);
  + assert_eq!(level, OutputLevel::Silent);
  +
  + level = determine_output_level(false, true);
  + assert_eq!(level, OutputLevel::Silent);
  +
  + level = determine_output_level(false, false);
  + assert_eq!(level, OutputLevel::Default);
  +
  + level = determine_output_level(true, false);
  + assert_eq!(level, OutputLevel::Quiet);
  + }
  +
  + #[test]
  + #[should_panic]
  + /// report_and_exit should panic/exit when called
  + fn report_and_exit_panics_under_test() {
  + report_and_exit("test");
  + }
  +}
  