namespace Zealot.Tests.TestObjects;

internal struct StructWithAllPrimitives
{
    public bool BoolProp { get; set; }

    public bool? BoolNullableProp { get; set; }
    
    public int IntProp { get; set; }

    public int? IntNullableProp { get; set; }

    public float FloatProp { get; set; }

    public float? FloatNullableProp { get; set; }

    public double DoubleProp { get; set; }

    public double? DoubleNullableProp { get; set; }

    public decimal DecimalProp { get; set; }

    public decimal? DecimalNullableProp { get; set; }

    public long LongProp { get; set; }

    public long? LongNullableProp { get; set; }

    public short ShortProp { get; set; }

    public short? ShortNullableProp { get; set; }

    public byte ByteProp { get; set; }

    public byte? ByteNullableProp { get; set; }

    public char CharProp { get; set; }

    public char? CharNullableProp { get; set; }

    public string StringProp { get; set; }

    public string? StringNullableProp { get; set; }

    public ushort UInt16Prop { get; set; }

    public ushort? UInt16NullableProp { get; set; }

    public uint UInt32Prop { get; set; }

    public uint? UInt32NullableProp { get; set; }

    public ulong UInt64Prop { get; set; }

    public ulong? UInt64NullableProp { get; set; }
}
