use std::string::String;
use super::differential::Workload;
use crate::inline_key::{Auto, WithInlineKey};
use crate::node_config::Configured;
use crate::tree::test_support::{FromNumber, LargePages, SmallInternalPages};
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
struct PlainKey(u64);
impl FromNumber for PlainKey {
fn from_number(number: usize) -> Self {
Self(number as u64)
}
}
#[test]
fn small_internal_pages_match_std() {
type Strategy = Configured<Auto, SmallInternalPages>;
let workload = Workload::new(10_000, 1 << 13);
workload.run::<u64, u64, Strategy>(110);
workload.run::<String, u64, Strategy>(111);
workload.run::<PlainKey, String, Strategy>(112);
workload.run::<i64, u64, Configured<WithInlineKey, SmallInternalPages>>(113);
}
#[test]
fn large_pages_match_std() {
type Strategy = Configured<Auto, LargePages>;
let workload = Workload::shallow(10_000, 1 << 13);
workload.run::<u64, u64, Strategy>(114);
workload.run::<String, u64, Strategy>(115);
workload.run::<PlainKey, u64, Strategy>(116);
}