pub enum EnumEncodingTestFailure<T>{
EncoderFailure(T, String),
DecoderFailure(T, String, Vec<u8>),
DecodedDiffersFromOriginal {
original: T,
decoded: T,
},
ValueMismatch {
enum_name: &'static str,
variant_name: &'static str,
expected: usize,
actual: usize,
},
EncodedValueMismatch {
enum_name: &'static str,
variant_name: &'static str,
expected: Vec<u8>,
actual: Vec<u8>,
},
DecoderWrongErrorOnUnknownValue(u8, String),
UnknownDecodesToVariant(u8, T),
FailedEq(T),
FailedNe(T, T),
FailedOrd(T, T),
}
Expand description
Failures happening during strict encoding tests of enum encodings.
NB: These errors are specific for testing configuration and should not be used in non-test environment.
Variants§
EncoderFailure(T, String)
Failure during encoding enum variant
DecoderFailure(T, String, Vec<u8>)
Failure during decoding binary representation of enum variant
DecodedDiffersFromOriginal
Fields
original: T
Original value, which was encoded
decoded: T
The value resulting from decoding encoded original
value
Test case failure representing mismatch between enum variant produced by decoding from the originally encoded enum variant
ValueMismatch
Fields
Test case failure representing mismatch between expected enum variant primitive value and the actual primitive value assigned to the enum variant by the rust compiler
EncodedValueMismatch
Fields
Test case failure representing failed byte string representation of the encoded enum variant
DecoderWrongErrorOnUnknownValue(u8, String)
Tuple Fields
Test case failure representing incorrect decoder error during processing out-of-enum range value
UnknownDecodesToVariant(u8, T)
Tuple Fields
1: T
Enum variant resulting from decoding wrong value
Test case failure representing a out-of-enum range primitive value still being interpreted as one of enum variants
FailedEq(T)
Tuple Fields
0: T
Enum variant which is not equal to itself
Test case failure due to wrong PartialEq
or Eq
implementation:
enum variant is not equal to itself
FailedNe(T, T)
Tuple Fields
0: T
First of two enum variants which are treated as equal
1: T
Second of two enum variants which are treated as equal
Test case failure due to wrong PartialEq
or Eq
implementation:
two distinct enum variants are still equal
FailedOrd(T, T)
Tuple Fields
0: T
First of two enum variants which are disordered. This variant
should smaller than the second one, but Ord
operation
treats it as a larger one
1: T
Second of two enum variants which are disordered. This variant
should larger than the second one, but Ord
operation
treats it as a smaller one
Test case failure due to wrong PartialOrd
or Ord
implementation
happening when enum variants ordering is broken
Trait Implementations§
source§impl<T> Clone for EnumEncodingTestFailure<T>
impl<T> Clone for EnumEncodingTestFailure<T>
source§fn clone(&self) -> EnumEncodingTestFailure<T>
fn clone(&self) -> EnumEncodingTestFailure<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T> Debug for EnumEncodingTestFailure<T>
impl<T> Debug for EnumEncodingTestFailure<T>
source§impl<T> Display for EnumEncodingTestFailure<T>
impl<T> Display for EnumEncodingTestFailure<T>
source§impl<T> Error for EnumEncodingTestFailure<T>
impl<T> Error for EnumEncodingTestFailure<T>
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl<T> From<EnumEncodingTestFailure<T>> for String
impl<T> From<EnumEncodingTestFailure<T>> for String
source§fn from(err: EnumEncodingTestFailure<T>) -> Self
fn from(err: EnumEncodingTestFailure<T>) -> Self
source§impl<T> PartialEq for EnumEncodingTestFailure<T>
impl<T> PartialEq for EnumEncodingTestFailure<T>
source§fn eq(&self, other: &EnumEncodingTestFailure<T>) -> bool
fn eq(&self, other: &EnumEncodingTestFailure<T>) -> bool
self
and other
values to be equal, and is used
by ==
.