///|
/// A deliberately mixed fixture used by the executable demo and integration tests.
pub fn demo_input() -> LedgerInput {
  {
    orders: [
      {
        id: "ORD-100",
        account_id: "acme",
        currency: "CNY",
        amount_minor: 12000,
        created_day: 1,
        status: Paid,
      },
      {
        id: "ORD-200",
        account_id: "acme",
        currency: "CNY",
        amount_minor: 8000,
        created_day: 1,
        status: Paid,
      },
      {
        id: "ORD-300",
        account_id: "beta",
        currency: "USD",
        amount_minor: 5000,
        created_day: 1,
        status: Cancelled,
      },
    ],
    payments: [
      {
        id: "PAY-1",
        order_id: "ORD-100",
        currency: "CNY",
        amount_minor: 12000,
        received_day: 2,
        status: Captured,
      },
      {
        id: "PAY-2",
        order_id: "ORD-200",
        currency: "CNY",
        amount_minor: 6000,
        received_day: 3,
        status: Captured,
      },
      {
        id: "PAY-3",
        order_id: "ORD-300",
        currency: "USD",
        amount_minor: 5000,
        received_day: 3,
        status: Captured,
      },
      {
        id: "PAY-4",
        order_id: "MISSING",
        currency: "CNY",
        amount_minor: 100,
        received_day: 3,
        status: Captured,
      },
    ],
    refunds: [
      {
        id: "REF-1",
        order_id: "ORD-100",
        currency: "CNY",
        amount_minor: 2000,
        refunded_day: 4,
        reason: "partial return",
      },
    ],
    adjustments: [
      {
        id: "ADJ-1",
        order_id: "ORD-200",
        currency: "CNY",
        amount_minor: 500,
        day: 2,
        direction: Credit,
        reason: "shipping",
      },
    ],
  }
}

///|
pub fn clean_input() -> LedgerInput {
  {
    orders: [
      {
        id: "ORD-CLEAN",
        account_id: "demo",
        currency: "CNY",
        amount_minor: 1000,
        created_day: 1,
        status: Paid,
      },
    ],
    payments: [
      {
        id: "PAY-CLEAN",
        order_id: "ORD-CLEAN",
        currency: "CNY",
        amount_minor: 1000,
        received_day: 2,
        status: Captured,
      },
    ],
    refunds: [],
    adjustments: [],
  }
}