DateResolver.java

1
package pro.verron.officestamper.preset.resolvers.date;
2
3
import pro.verron.officestamper.api.ObjectResolver;
4
import pro.verron.officestamper.api.StringResolver;
5
6
import java.text.SimpleDateFormat;
7
import java.time.ZoneId;
8
import java.time.format.DateTimeFormatter;
9
import java.util.Date;
10
11
/// This [ObjectResolver] creates a formatted date [String] for expressions that return a [Date] object.
12
///
13
/// @author Joseph Verron
14
/// @since 1.6.7
15
public final class DateResolver
16
        extends StringResolver<Date> {
17
18
    private final DateTimeFormatter formatter;
19
20
    /// Creates a new DateResolver that uses the format "dd.MM.yyyy".
21
    public DateResolver() {
22
        this(DateTimeFormatter.ofPattern("dd.MM.yyyy"));
23
    }
24
25
    /// Creates a new DateResolver.
26
    ///
27
    /// @param formatter the format to use for date formatting. See [SimpleDateFormat].
28
    public DateResolver(DateTimeFormatter formatter) {
29
        super(Date.class);
30
        this.formatter = formatter;
31
    }
32
33
    @Override
34
    protected String resolve(Date date) {
35
        var zone = ZoneId.systemDefault();
36
        var localDate = date.toInstant()
37
                            .atZone(zone)
38
                            .toLocalDate();
39 1 1. resolve : replaced return value with "" for pro/verron/officestamper/preset/resolvers/date/DateResolver::resolve → KILLED
        return formatter.format(localDate);
40
    }
41
}

Mutations

39

1.1
Location : resolve
Killed by : pro.verron.officestamper.test.ResolversIntegrationTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolversIntegrationTests]/[test-template:legacyDateWithFormatter(pro.verron.officestamper.test.utils.ContextFactory)]/[test-template-invocation:#1]
replaced return value with "" for pro/verron/officestamper/preset/resolvers/date/DateResolver::resolve → KILLED

Active mutators

Tests examined


Report generated by PIT 1.25.5 support