use std::mem::size_of;

use super::{
    Element, Error, ErrorImpl, PartialElement, Path, PathNode, PathNodeRef, RawStr, Span, Token,
    TokenType, Value,
};

#[test]
#[cfg(target_pointer_width = "64")]
fn should_match_sizes() {
    assert_eq!(size_of::<Element<'_>>(), 72);
    assert_eq!(size_of::<Error>(), 8);
    assert_eq!(size_of::<ErrorImpl>(), 96);
    assert_eq!(size_of::<PartialElement<'_>>(), 56);
    assert_eq!(size_of::<Path>(), 24);
    assert_eq!(size_of::<PathNode<'_>>(), 48);
    assert_eq!(size_of::<PathNodeRef<'_>>(), 8);
    assert_eq!(size_of::<RawStr<'_>>(), 32);
    assert_eq!(size_of::<Span>(), 16);
    assert_eq!(size_of::<Token>(), 24);
    assert_eq!(size_of::<TokenType>(), 1);
    assert_eq!(size_of::<Value<'_>>(), 40);
}
