Polishing

This commit is contained in:
Juergen Hoeller
2023-07-15 14:20:00 +02:00
parent 6183f06846
commit 3a278cc66d
4 changed files with 39 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2019 the original author or authors. * Copyright 2002-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -33,57 +33,56 @@ import static org.assertj.core.api.Assertions.assertThat;
*/ */
class ByteBufferConverterTests { class ByteBufferConverterTests {
private GenericConversionService conversionService; private final GenericConversionService conversionService = new DefaultConversionService();
@BeforeEach @BeforeEach
void setup() { void setup() {
this.conversionService = new DefaultConversionService(); conversionService.addConverter(new ByteArrayToOtherTypeConverter());
this.conversionService.addConverter(new ByteArrayToOtherTypeConverter()); conversionService.addConverter(new OtherTypeToByteArrayConverter());
this.conversionService.addConverter(new OtherTypeToByteArrayConverter());
} }
@Test @Test
void byteArrayToByteBuffer() throws Exception { void byteArrayToByteBuffer() {
byte[] bytes = new byte[] { 1, 2, 3 }; byte[] bytes = new byte[] { 1, 2, 3 };
ByteBuffer convert = this.conversionService.convert(bytes, ByteBuffer.class); ByteBuffer convert = conversionService.convert(bytes, ByteBuffer.class);
assertThat(convert.array()).isNotSameAs(bytes); assertThat(convert.array()).isNotSameAs(bytes);
assertThat(convert.array()).isEqualTo(bytes); assertThat(convert.array()).isEqualTo(bytes);
} }
@Test @Test
void byteBufferToByteArray() throws Exception { void byteBufferToByteArray() {
byte[] bytes = new byte[] { 1, 2, 3 }; byte[] bytes = new byte[] { 1, 2, 3 };
ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
byte[] convert = this.conversionService.convert(byteBuffer, byte[].class); byte[] convert = conversionService.convert(byteBuffer, byte[].class);
assertThat(convert).isNotSameAs(bytes); assertThat(convert).isNotSameAs(bytes);
assertThat(convert).isEqualTo(bytes); assertThat(convert).isEqualTo(bytes);
} }
@Test @Test
void byteBufferToOtherType() throws Exception { void byteBufferToOtherType() {
byte[] bytes = new byte[] { 1, 2, 3 }; byte[] bytes = new byte[] { 1, 2, 3 };
ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
OtherType convert = this.conversionService.convert(byteBuffer, OtherType.class); OtherType convert = conversionService.convert(byteBuffer, OtherType.class);
assertThat(convert.bytes).isNotSameAs(bytes); assertThat(convert.bytes).isNotSameAs(bytes);
assertThat(convert.bytes).isEqualTo(bytes); assertThat(convert.bytes).isEqualTo(bytes);
} }
@Test @Test
void otherTypeToByteBuffer() throws Exception { void otherTypeToByteBuffer() {
byte[] bytes = new byte[] { 1, 2, 3 }; byte[] bytes = new byte[] { 1, 2, 3 };
OtherType otherType = new OtherType(bytes); OtherType otherType = new OtherType(bytes);
ByteBuffer convert = this.conversionService.convert(otherType, ByteBuffer.class); ByteBuffer convert = conversionService.convert(otherType, ByteBuffer.class);
assertThat(convert.array()).isNotSameAs(bytes); assertThat(convert.array()).isNotSameAs(bytes);
assertThat(convert.array()).isEqualTo(bytes); assertThat(convert.array()).isEqualTo(bytes);
} }
@Test @Test
void byteBufferToByteBuffer() throws Exception { void byteBufferToByteBuffer() {
byte[] bytes = new byte[] { 1, 2, 3 }; byte[] bytes = new byte[] { 1, 2, 3 };
ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
ByteBuffer convert = this.conversionService.convert(byteBuffer, ByteBuffer.class); ByteBuffer convert = conversionService.convert(byteBuffer, ByteBuffer.class);
assertThat(convert).isNotSameAs(byteBuffer.rewind()); assertThat(convert).isNotSameAs(byteBuffer.rewind());
assertThat(convert).isEqualTo(byteBuffer.rewind()); assertThat(convert).isEqualTo(byteBuffer.rewind());
assertThat(convert).isEqualTo(ByteBuffer.wrap(bytes)); assertThat(convert).isEqualTo(ByteBuffer.wrap(bytes));

View File

@@ -49,11 +49,11 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
*/ */
class CollectionToCollectionConverterTests { class CollectionToCollectionConverterTests {
private GenericConversionService conversionService = new GenericConversionService(); private final GenericConversionService conversionService = new GenericConversionService();
@BeforeEach @BeforeEach
void setUp() { void setup() {
conversionService.addConverter(new CollectionToCollectionConverter(conversionService)); conversionService.addConverter(new CollectionToCollectionConverter(conversionService));
} }

View File

@@ -38,7 +38,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/** /**
* @author Keith Donald * @author Keith Donald
* @author Phil Webb * @author Phillip Webb
* @author Juergen Hoeller * @author Juergen Hoeller
*/ */
class MapToMapConverterTests { class MapToMapConverterTests {
@@ -47,7 +47,7 @@ class MapToMapConverterTests {
@BeforeEach @BeforeEach
void setUp() { void setup() {
conversionService.addConverter(new MapToMapConverter(conversionService)); conversionService.addConverter(new MapToMapConverter(conversionService));
} }

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2022 the original author or authors. * Copyright 2002-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.springframework.core.convert.support;
import java.util.Optional; import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.core.convert.ConverterNotFoundException; import org.springframework.core.convert.ConverterNotFoundException;
@@ -29,15 +30,19 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
* Unit tests for {@link ObjectToObjectConverter}. * Unit tests for {@link ObjectToObjectConverter}.
* *
* @author Sam Brannen * @author Sam Brannen
* @author Phil Webb * @author Phillip Webb
* @since 5.3.21 * @since 5.3.21
* @see org.springframework.core.convert.converter.DefaultConversionServiceTests#convertObjectToObjectUsingValueOfMethod() * @see org.springframework.core.convert.converter.DefaultConversionServiceTests#convertObjectToObjectUsingValueOfMethod()
*/ */
class ObjectToObjectConverterTests { class ObjectToObjectConverterTests {
private final GenericConversionService conversionService = new GenericConversionService() {{ private final GenericConversionService conversionService = new GenericConversionService();
addConverter(new ObjectToObjectConverter());
}};
@BeforeEach
void setup() {
conversionService.addConverter(new ObjectToObjectConverter());
}
/** /**
@@ -47,7 +52,7 @@ class ObjectToObjectConverterTests {
@Test @Test
void nonStaticToTargetTypeSimpleNameMethodWithMatchingReturnType() { void nonStaticToTargetTypeSimpleNameMethodWithMatchingReturnType() {
assertThat(conversionService.canConvert(Source.class, Data.class)) assertThat(conversionService.canConvert(Source.class, Data.class))
.as("can convert Source to Data").isTrue(); .as("can convert Source to Data").isTrue();
Data data = conversionService.convert(new Source("test"), Data.class); Data data = conversionService.convert(new Source("test"), Data.class);
assertThat(data).asString().isEqualTo("test"); assertThat(data).asString().isEqualTo("test");
} }
@@ -55,21 +60,21 @@ class ObjectToObjectConverterTests {
@Test @Test
void nonStaticToTargetTypeSimpleNameMethodWithDifferentReturnType() { void nonStaticToTargetTypeSimpleNameMethodWithDifferentReturnType() {
assertThat(conversionService.canConvert(Text.class, Data.class)) assertThat(conversionService.canConvert(Text.class, Data.class))
.as("can convert Text to Data").isFalse(); .as("can convert Text to Data").isFalse();
assertThat(conversionService.canConvert(Text.class, Optional.class)) assertThat(conversionService.canConvert(Text.class, Optional.class))
.as("can convert Text to Optional").isFalse(); .as("can convert Text to Optional").isFalse();
assertThatExceptionOfType(ConverterNotFoundException.class) assertThatExceptionOfType(ConverterNotFoundException.class)
.as("convert Text to Data") .as("convert Text to Data")
.isThrownBy(() -> conversionService.convert(new Text("test"), Data.class)); .isThrownBy(() -> conversionService.convert(new Text("test"), Data.class));
} }
@Test @Test
void staticValueOfFactoryMethodWithDifferentReturnType() { void staticValueOfFactoryMethodWithDifferentReturnType() {
assertThat(conversionService.canConvert(String.class, Data.class)) assertThat(conversionService.canConvert(String.class, Data.class))
.as("can convert String to Data").isFalse(); .as("can convert String to Data").isFalse();
assertThatExceptionOfType(ConverterNotFoundException.class) assertThatExceptionOfType(ConverterNotFoundException.class)
.as("convert String to Data") .as("convert String to Data")
.isThrownBy(() -> conversionService.convert("test", Data.class)); .isThrownBy(() -> conversionService.convert("test", Data.class));
} }
@@ -84,9 +89,9 @@ class ObjectToObjectConverterTests {
public Data toData() { public Data toData() {
return new Data(this.value); return new Data(this.value);
} }
} }
static class Text { static class Text {
private final String value; private final String value;
@@ -98,9 +103,9 @@ class ObjectToObjectConverterTests {
public Optional<Data> toData() { public Optional<Data> toData() {
return Optional.of(new Data(this.value)); return Optional.of(new Data(this.value));
} }
} }
static class Data { static class Data {
private final String value; private final String value;
@@ -115,9 +120,8 @@ class ObjectToObjectConverterTests {
} }
public static Optional<Data> valueOf(String string) { public static Optional<Data> valueOf(String string) {
return (string != null) ? Optional.of(new Data(string)) : Optional.empty(); return (string != null ? Optional.of(new Data(string)) : Optional.empty());
} }
} }
} }