package com.tt.honeyDue.data

import kotlin.test.Test
import kotlin.test.assertTrue

/**
 * Compile + runtime guard that the production [DataManager] singleton still
 * satisfies the [IDataManager] contract. If a future refactor drops a member
 * from the interface — or worse, drops the `: IDataManager` supertype from
 * DataManager — this test fails loud, before any screen loses its data source.
 */
class IDataManagerTest {

    // The `is IDataManager` check is statically `true` today — the compiler
    // warning confirms DataManager satisfies the interface. If either side
    // ever drifts, that status changes (or the file fails to compile), so
    // this test acts as a compile-time + runtime guard.
    @Suppress("USELESS_IS_CHECK")
    @Test
    fun dataManagerSingletonImplementsIDataManager() {
        assertTrue(
            DataManager is IDataManager,
            "DataManager must implement IDataManager so screens can resolve it through LocalDataManager."
        )
    }
}
