import XCTest @testable import CoachModel /* Le déroulé d'une séance structurée au poignet. * * Ces tests portent sur ce qu'aucun build Xcode ne rattrape : la dérive * silencieuse. Un intervalle qui démarre trois secondes trop tard ne casse * rien, ne lève rien, et se voit seulement au neuvième tour — sur le terrain, * pas en relecture. */ final class IntervalEngineTests: XCTestCase { // Séance réelle du plan (CDC · reprise) : 5' marche, 3×(1' course / 1' // marche), 5' marche. C'est le gabarit le plus fréquent chez l'utilisateur. private func cdcPlan(reps: Int = 3) -> [CoachPlanStep] { var steps: [CoachPlanStep] = [ CoachPlanStep(kind: .warmup, durationSec: 300, hrZone: 1, label: "5 min marche") ] for _ in 0..