#[cfg(test)]
use {
mockall::mock,
pdk_core::classy::shared_data::concurrent_shared_data::TransactionStatus,
serde::{de::DeserializeOwned, Serialize},
};
#[cfg(test)]
mock! {
pub ConcurrentSharedData {
pub fn new(clock: std::rc::Rc<dyn pdk_core::classy::Clock>, shared_data: std::rc::Rc<dyn pdk_core::classy::SharedData>) -> Self;
pub fn insert<T, F>(
&self,
key: String,
data: T,
handle_consistency: F,
) -> (TransactionStatus, T)
where
T: Clone + Serialize + DeserializeOwned + 'static,
F: Fn(T, T) -> Option<T> + 'static;
pub fn get<T>(&self, key: &str) -> Option<T>
where
T: Clone + Serialize + DeserializeOwned + 'static ;
pub fn remove<T>(&self, key: &str) -> Option<T>
where
T: Clone + Serialize + DeserializeOwned + 'static;
}
}