Home / Class/ StringToPeriodConverterTests Class — spring-boot Architecture

StringToPeriodConverterTests Class — spring-boot Architecture

Architecture documentation for the StringToPeriodConverterTests class in StringToPeriodConverterTests.java from the spring-boot codebase.

Entity Profile

Source Code

core/spring-boot/src/test/java/org/springframework/boot/convert/StringToPeriodConverterTests.java lines 37–121

class StringToPeriodConverterTests {

	@ConversionServiceTest
	void convertWhenIso8601ShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "p2y")).isEqualTo(Period.parse("p2y"));
		assertThat(convert(conversionService, "P2Y")).isEqualTo(Period.parse("P2Y"));
		assertThat(convert(conversionService, "P3M")).isEqualTo(Period.parse("P3M"));
		assertThat(convert(conversionService, "P4W")).isEqualTo(Period.parse("P4W"));
		assertThat(convert(conversionService, "P5D")).isEqualTo(Period.parse("P5D"));
		assertThat(convert(conversionService, "P1Y2M3D")).isEqualTo(Period.parse("P1Y2M3D"));
		assertThat(convert(conversionService, "P1Y2M3W4D")).isEqualTo(Period.parse("P1Y2M3W4D"));
		assertThat(convert(conversionService, "P-1Y2M")).isEqualTo(Period.parse("P-1Y2M"));
		assertThat(convert(conversionService, "-P1Y2M")).isEqualTo(Period.parse("-P1Y2M"));
	}

	@ConversionServiceTest
	void convertWhenSimpleDaysShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "10d")).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "10D")).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "+10d")).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "-10D")).isEqualTo(Period.ofDays(-10));
	}

	@ConversionServiceTest
	void convertWhenSimpleWeeksShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "10w")).isEqualTo(Period.ofWeeks(10));
		assertThat(convert(conversionService, "10W")).isEqualTo(Period.ofWeeks(10));
		assertThat(convert(conversionService, "+10w")).isEqualTo(Period.ofWeeks(10));
		assertThat(convert(conversionService, "-10W")).isEqualTo(Period.ofWeeks(-10));
	}

	@ConversionServiceTest
	void convertWhenSimpleMonthsShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "10m")).isEqualTo(Period.ofMonths(10));
		assertThat(convert(conversionService, "10M")).isEqualTo(Period.ofMonths(10));
		assertThat(convert(conversionService, "+10m")).isEqualTo(Period.ofMonths(10));
		assertThat(convert(conversionService, "-10M")).isEqualTo(Period.ofMonths(-10));
	}

	@ConversionServiceTest
	void convertWhenSimpleYearsShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "10y")).isEqualTo(Period.ofYears(10));
		assertThat(convert(conversionService, "10Y")).isEqualTo(Period.ofYears(10));
		assertThat(convert(conversionService, "+10y")).isEqualTo(Period.ofYears(10));
		assertThat(convert(conversionService, "-10Y")).isEqualTo(Period.ofYears(-10));
	}

	@ConversionServiceTest
	void convertWhenSimpleWithoutSuffixShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "10")).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "+10")).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "-10")).isEqualTo(Period.ofDays(-10));
	}

	@ConversionServiceTest
	void convertWhenSimpleWithoutSuffixButWithAnnotationShouldReturnPeriod(ConversionService conversionService) {
		assertThat(convert(conversionService, "10", ChronoUnit.DAYS, null)).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "+10", ChronoUnit.DAYS, null)).isEqualTo(Period.ofDays(10));
		assertThat(convert(conversionService, "-10", ChronoUnit.DAYS, null)).isEqualTo(Period.ofDays(-10));
		assertThat(convert(conversionService, "10", ChronoUnit.WEEKS, null)).isEqualTo(Period.ofWeeks(10));
		assertThat(convert(conversionService, "+10", ChronoUnit.WEEKS, null)).isEqualTo(Period.ofWeeks(10));
		assertThat(convert(conversionService, "-10", ChronoUnit.WEEKS, null)).isEqualTo(Period.ofWeeks(-10));
		assertThat(convert(conversionService, "10", ChronoUnit.MONTHS, null)).isEqualTo(Period.ofMonths(10));
		assertThat(convert(conversionService, "+10", ChronoUnit.MONTHS, null)).isEqualTo(Period.ofMonths(10));
		assertThat(convert(conversionService, "-10", ChronoUnit.MONTHS, null)).isEqualTo(Period.ofMonths(-10));
		assertThat(convert(conversionService, "10", ChronoUnit.YEARS, null)).isEqualTo(Period.ofYears(10));
		assertThat(convert(conversionService, "+10", ChronoUnit.YEARS, null)).isEqualTo(Period.ofYears(10));
		assertThat(convert(conversionService, "-10", ChronoUnit.YEARS, null)).isEqualTo(Period.ofYears(-10));
	}

	private @Nullable Period convert(ConversionService conversionService, String source) {
		return conversionService.convert(source, Period.class);
	}

	private @Nullable Period convert(ConversionService conversionService, String source, @Nullable ChronoUnit unit,
			@Nullable PeriodStyle style) {
		return (Period) conversionService.convert(source, TypeDescriptor.forObject(source),
				MockPeriodTypeDescriptor.get(unit, style));
	}

	static Stream<? extends Arguments> conversionServices() {
		return ConversionServiceArguments.with(new StringToPeriodConverter());
	}

}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free