using AyCode.Core.Serializers.Attributes;

namespace AyCode.Core.Tests.TestModels;

/// <summary>
/// Test model for Source Generator based binary serialization.
/// This class will have generated Serialize/Deserialize methods.
/// </summary>
[AcBinarySerializable]
public class GeneratedSerializerTestModel
{
    public int Id { get; set; }
    public string? Name { get; set; }
    public bool IsActive { get; set; }
    public double Value { get; set; }
    public DateTime Created { get; set; }
    public Guid UniqueId { get; set; }
    public decimal Price { get; set; }
    public long BigNumber { get; set; }
}

/// <summary>
/// Simple test model with only primitives.
/// </summary>
[AcBinarySerializable]
public class SimpleGeneratedModel
{
    public int Age { get; set; }
    public string? FirstName { get; set; }
    public string? LastName { get; set; }
}
