summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/a1qa/project/models/Test.java
blob: 80111576ad919a2bb6b296e5ca06b2c6e648b8dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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<Test> {

    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")));
    }

}