package com.mavlushechka.a1qa.project.models; import com.mavlushechka.a1qa.project.constants.Result; import org.checkerframework.checker.nullness.qual.NonNull; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Objects; public record Test(String name, String method, Result status, String startTime, String endTime, String duration) implements Comparable { public Test { if (status == Result.IN_PROGRESS) { status = null; } if (Objects.equals(startTime, "")) { startTime = null; } if (Objects.equals(endTime, "")) { endTime = null; } } @Override public int compareTo(@NonNull Test test) { if (startTime == null && test.startTime == null) { return 0; } if (startTime == null) { return -1; } if (test.startTime == null) { return 1; } return LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S")) .compareTo(LocalDateTime.parse(test.startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"))); } }