//! Trivial flat ordering: all arguments are equally preferred.
//!
//! When no preference information is available, this ordering makes every
//! attack succeed as a defeat (since no attacker can be strictly
//! dispreferred).

use super::{ArgumentOrdering, Preference};
use crate::framework::argument::ArgumentId;
use crate::framework::argument_store::ArgumentStore;

/// Argument ordering where all arguments are equally preferred.
///
/// Under this ordering every rebut/undermine attack becomes a defeat,
/// yielding the "no-preference" baseline for the classical pipeline.
#[derive(Debug)]
pub struct FlatOrdering;

impl ArgumentOrdering for FlatOrdering {
    fn compare(&self, _a: ArgumentId, _b: ArgumentId, _store: &ArgumentStore) -> Preference {
        Preference::Equal
    }
}
