Implements mocking for MoveData
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-11-27 23:00:56 +01:00
parent ad9f17ccf1
commit d4b1cadad0
3 changed files with 29 additions and 13 deletions

View File

@@ -100,22 +100,13 @@ impl ValueIdentifiable for LearnedMove {
#[cfg(test)]
mod tests {
use super::*;
use crate::static_data::{MoveCategory, MoveDataImpl, MoveTarget};
use crate::static_data::MockMoveData;
#[test]
fn create_learned_move_restore_uses() {
let data: Arc<dyn MoveData> = Arc::new(MoveDataImpl::new(
&"foo".into(),
0u8.into(),
MoveCategory::Special,
100,
20,
30,
MoveTarget::All,
0,
None,
Default::default(),
));
let mut mock = MockMoveData::new();
mock.expect_base_usages().return_const(30);
let data: Arc<dyn MoveData> = Arc::new(mock);
let learned_move = LearnedMove::new(&data, MoveLearnMethod::Level);
assert!(learned_move.try_use(15));
learned_move.restore_uses(5);