replacementId); self::assertSame(self::REPLACED_TEACHER_ID, $dto->replacedTeacherId); self::assertSame(self::CLASS_ID, $dto->classId); self::assertSame(self::SUBJECT_ID, $dto->subjectId); self::assertSame('6ème A', $dto->className); self::assertSame('Mathématiques', $dto->subjectName); self::assertEquals($startDate, $dto->startDate); self::assertEquals($endDate, $dto->endDate); } #[Test] public function constructorPreservesExactDateValues(): void { $startDate = new DateTimeImmutable('2026-03-01 08:00:00'); $endDate = new DateTimeImmutable('2026-03-31 23:59:59'); $dto = new ReplacedClassDto( replacementId: self::REPLACEMENT_ID, replacedTeacherId: self::REPLACED_TEACHER_ID, classId: self::CLASS_ID, subjectId: self::SUBJECT_ID, className: '6ème A', subjectName: 'Mathématiques', startDate: $startDate, endDate: $endDate, ); self::assertSame($startDate, $dto->startDate); self::assertSame($endDate, $dto->endDate); } }