package solutions.tretter.githugandroid

/**
 * Port of the upstream ruby-githug `status` level.
 *
 * Setup documents the repository shape the learner explores. Evaluation is kept
 * state-based whenever the exercise changes repository objects; answer-only
 * levels intentionally validate the answer entered at the prompt.
 */
internal fun statusLevel(): Level = level(
    id = "status",
    title = "Status",
    description = "Among the files in this repository, which of them is untracked?",
    hints = listOf("You are looking for a command to identify the status of the repository."),
    commandSuggestions = listOf("git status"),
    setup = { RepoState(initialized = true, files = listOf(GitFile("database.yml"), GitFile("README", tracked = true)), branches = mapOf("master" to 0)) },
    validator = commandAnswer("database.yml"),
    testCases = listOf(
        levelTestCase("answer untracked file", "database.yml"),
    ),
)
