Coverage Summary for Class: DateRange (com.github.malyshevhen.domain.dto)

Class Class, % Method, % Branch, % Line, %
DateRange 100% (1/1) 100% (5/5) 80% (8/10) 100% (7/7)


 package com.github.malyshevhen.domain.dto;
 
 import java.time.LocalDate;
 
 import org.springframework.format.annotation.DateTimeFormat;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.Past;
 import jakarta.validation.constraints.PastOrPresent;
 
 public record DateRange(
         @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate from,
         @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate to) {
 
     public DateRange {
         if (from != null && to != null && from.isAfter(to)) {
             throw new IllegalArgumentException("From date must be before to date");
         }
     }
 
     @Valid
     @Past
     @JsonProperty("from")
     public LocalDate getFrom() {
         return from;
     }
 
     @Valid
     @PastOrPresent
     @JsonProperty("to")
     public LocalDate getTo() {
         return to;
     }
 
     public boolean isSet() {
         return from != null || to != null;
     }
 }