From 363abc67da48b27cb72e251603b1d40f63542b23 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Tue, 16 Apr 2024 21:43:15 -0400 Subject: [PATCH] Add invalid data test to CharacterData --- src/chardat.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/chardat.rs b/src/chardat.rs index f4b47f0..f77d6e2 100644 --- a/src/chardat.rs +++ b/src/chardat.rs @@ -6,6 +6,7 @@ use std::io::{BufWriter, Cursor}; use binrw::{BinRead, BinWrite}; use binrw::binrw; use crate::{ByteBuffer, ByteSpan}; +use crate::cfg::ConfigFile; use crate::common_file_operations::{read_bool_from, write_bool_as}; use crate::race::{Gender, Race, Subrace}; @@ -221,4 +222,22 @@ impl CharacterData { Some(buffer) } -} \ No newline at end of file +} + +#[cfg(test)] +mod tests { + use std::fs::read; + use std::path::PathBuf; + + use super::*; + + #[test] + fn test_invalid() { + let mut d = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + d.push("resources/tests"); + d.push("random"); + + // Feeding it invalid data should not panic + CharacterData::from_existing(&read(d).unwrap()); + } +}