MockUuid

Struct MockUuid 

Source
pub struct MockUuid { /* private fields */ }
Expand description

Mock UUID provider for testing.

Can generate sequential UUIDs or return predetermined values.

Implementations§

Source§

impl MockUuid

Source

pub fn sequential() -> Self

Create a mock UUID provider that generates sequential UUIDs.

The first UUID will be 00000000-0000-0000-0000-000000000001.

§Example
use xerv_core::testing::MockUuid;
use xerv_core::testing::UuidProvider;

let provider = MockUuid::sequential();
let id1 = provider.new_v4();
let id2 = provider.new_v4();

assert_eq!(id1.to_string(), "00000000-0000-0000-0000-000000000001");
assert_eq!(id2.to_string(), "00000000-0000-0000-0000-000000000002");
Source

pub fn sequential_from(start: u64) -> Self

Create a mock UUID provider that generates sequential UUIDs starting at the given value.

Source

pub fn predetermined(uuids: Vec<Uuid>) -> Self

Create a mock UUID provider that returns predetermined UUIDs.

UUIDs are returned in the order provided. If more UUIDs are requested than provided, sequential UUIDs are generated starting from 1.

§Example
use xerv_core::testing::MockUuid;
use xerv_core::testing::UuidProvider;
use uuid::Uuid;

let id = Uuid::parse_str("12345678-1234-1234-1234-123456789abc").unwrap();
let provider = MockUuid::predetermined(vec![id]);

assert_eq!(provider.new_v4(), id);
// Next call returns sequential UUID (starting from 1)
assert_eq!(provider.new_v4().to_string(), "00000000-0000-0000-0000-000000000001");
Source

pub fn from_strings(uuids: &[&str]) -> Self

Create a mock UUID provider from string representations.

§Panics

Panics if any string is not a valid UUID.

Source

pub fn current_counter(&self) -> Option<u64>

Get the current sequential counter value (for debugging).

Trait Implementations§

Source§

impl UuidProvider for MockUuid

Source§

fn new_v4(&self) -> Uuid

Generate a new UUID.
Source§

fn is_mock(&self) -> bool

Check if this is a mock provider.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more