提交 521539b6 编写于 作者: S Stephane Nicoll

Merge pull request #23162 from izeye

* pr/23162:
  Polish FormattingConversionServiceTests

Closes gh-23162
...@@ -18,7 +18,6 @@ package org.springframework.format.support; ...@@ -18,7 +18,6 @@ package org.springframework.format.support;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -83,7 +82,7 @@ public class FormattingConversionServiceTests { ...@@ -83,7 +82,7 @@ public class FormattingConversionServiceTests {
@Test @Test
public void formatFieldForTypeWithFormatter() throws ParseException { public void formatFieldForTypeWithFormatter() {
formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter()); formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter());
String formatted = formattingService.convert(3, String.class); String formatted = formattingService.convert(3, String.class);
assertThat(formatted).isEqualTo("3"); assertThat(formatted).isEqualTo("3");
...@@ -92,7 +91,7 @@ public class FormattingConversionServiceTests { ...@@ -92,7 +91,7 @@ public class FormattingConversionServiceTests {
} }
@Test @Test
public void formatFieldForTypeWithPrinterParserWithCoercion() throws ParseException { public void formatFieldForTypeWithPrinterParserWithCoercion() {
formattingService.addConverter(new Converter<DateTime, LocalDate>() { formattingService.addConverter(new Converter<DateTime, LocalDate>() {
@Override @Override
public LocalDate convert(DateTime source) { public LocalDate convert(DateTime source) {
...@@ -241,58 +240,58 @@ public class FormattingConversionServiceTests { ...@@ -241,58 +240,58 @@ public class FormattingConversionServiceTests {
} }
@Test @Test
public void printNull() throws ParseException { public void printNull() {
formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter()); formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter());
assertThat(formattingService.convert(null, TypeDescriptor.valueOf(Integer.class), TypeDescriptor.valueOf(String.class))).isEqualTo(""); assertThat(formattingService.convert(null, TypeDescriptor.valueOf(Integer.class), TypeDescriptor.valueOf(String.class))).isEqualTo("");
} }
@Test @Test
public void parseNull() throws ParseException { public void parseNull() {
formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter()); formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter());
assertThat(formattingService assertThat(formattingService
.convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull(); .convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull();
} }
@Test @Test
public void parseEmptyString() throws ParseException { public void parseEmptyString() {
formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter()); formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter());
assertThat(formattingService.convert("", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull(); assertThat(formattingService.convert("", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull();
} }
@Test @Test
public void parseBlankString() throws ParseException { public void parseBlankString() {
formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter()); formattingService.addFormatterForFieldType(Number.class, new NumberStyleFormatter());
assertThat(formattingService.convert(" ", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull(); assertThat(formattingService.convert(" ", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull();
} }
@Test @Test
public void parseParserReturnsNull() throws ParseException { public void parseParserReturnsNull() {
formattingService.addFormatterForFieldType(Integer.class, new NullReturningFormatter()); formattingService.addFormatterForFieldType(Integer.class, new NullReturningFormatter());
assertThatExceptionOfType(ConversionFailedException.class).isThrownBy(() -> assertThatExceptionOfType(ConversionFailedException.class).isThrownBy(() ->
formattingService.convert("1", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))); formattingService.convert("1", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class)));
} }
@Test @Test
public void parseNullPrimitiveProperty() throws ParseException { public void parseNullPrimitiveProperty() {
formattingService.addFormatterForFieldType(Integer.class, new NumberStyleFormatter()); formattingService.addFormatterForFieldType(Integer.class, new NumberStyleFormatter());
assertThatExceptionOfType(ConversionFailedException.class).isThrownBy(() -> assertThatExceptionOfType(ConversionFailedException.class).isThrownBy(() ->
formattingService.convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(int.class))); formattingService.convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(int.class)));
} }
@Test @Test
public void printNullDefault() throws ParseException { public void printNullDefault() {
assertThat(formattingService assertThat(formattingService
.convert(null, TypeDescriptor.valueOf(Integer.class), TypeDescriptor.valueOf(String.class))).isEqualTo(null); .convert(null, TypeDescriptor.valueOf(Integer.class), TypeDescriptor.valueOf(String.class))).isEqualTo(null);
} }
@Test @Test
public void parseNullDefault() throws ParseException { public void parseNullDefault() {
assertThat(formattingService assertThat(formattingService
.convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull(); .convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull();
} }
@Test @Test
public void parseEmptyStringDefault() throws ParseException { public void parseEmptyStringDefault() {
assertThat(formattingService.convert("", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull(); assertThat(formattingService.convert("", TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull();
} }
...@@ -330,7 +329,7 @@ public class FormattingConversionServiceTests { ...@@ -330,7 +329,7 @@ public class FormattingConversionServiceTests {
private <T> void registerDefaultValue(Class<T> clazz, final T defaultValue) { private <T> void registerDefaultValue(Class<T> clazz, final T defaultValue) {
formattingService.addFormatterForFieldType(clazz, new Formatter<T>() { formattingService.addFormatterForFieldType(clazz, new Formatter<T>() {
@Override @Override
public T parse(String text, Locale locale) throws ParseException { public T parse(String text, Locale locale) {
return defaultValue; return defaultValue;
} }
@Override @Override
...@@ -345,30 +344,30 @@ public class FormattingConversionServiceTests { ...@@ -345,30 +344,30 @@ public class FormattingConversionServiceTests {
} }
@Test @Test
public void introspectedFormatter() throws ParseException { public void introspectedFormatter() {
formattingService.addFormatter(new NumberStyleFormatter("#,#00.0#")); formattingService.addFormatter(new NumberStyleFormatter("#,#00.0#"));
assertThat(formattingService.convert(123, String.class)).isEqualTo("123.0"); assertThat(formattingService.convert(123, String.class)).isEqualTo("123.0");
assertThat(formattingService.convert("123.0", Integer.class)).isEqualTo(123); assertThat(formattingService.convert("123.0", Integer.class)).isEqualTo(123);
} }
@Test @Test
public void introspectedPrinter() throws ParseException { public void introspectedPrinter() {
formattingService.addPrinter(new NumberStyleFormatter("#,#00.0#")); formattingService.addPrinter(new NumberStyleFormatter("#,#00.0#"));
assertThat(formattingService.convert(123, String.class)).isEqualTo("123.0"); assertThat(formattingService.convert(123, String.class)).isEqualTo("123.0");
assertThatExceptionOfType(ConversionFailedException.class).isThrownBy(() -> assertThatExceptionOfType(ConversionFailedException.class).isThrownBy(() ->
assertThat(formattingService.convert("123.0", Integer.class)).isNull()) formattingService.convert("123.0", Integer.class))
.withCauseInstanceOf(NumberFormatException.class); .withCauseInstanceOf(NumberFormatException.class);
} }
@Test @Test
public void introspectedParser() throws ParseException { public void introspectedParser() {
formattingService.addParser(new NumberStyleFormatter("#,#00.0#")); formattingService.addParser(new NumberStyleFormatter("#,#00.0#"));
assertThat(formattingService.convert("123.0", Integer.class)).isEqualTo(123); assertThat(formattingService.convert("123.0", Integer.class)).isEqualTo(123);
assertThat(formattingService.convert(123, String.class)).isEqualTo("123"); assertThat(formattingService.convert(123, String.class)).isEqualTo("123");
} }
@Test @Test
public void proxiedFormatter() throws ParseException { public void proxiedFormatter() {
Formatter<?> formatter = new NumberStyleFormatter(); Formatter<?> formatter = new NumberStyleFormatter();
formattingService.addFormatter((Formatter<?>) new ProxyFactory(formatter).getProxy()); formattingService.addFormatter((Formatter<?>) new ProxyFactory(formatter).getProxy());
assertThat(formattingService.convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull(); assertThat(formattingService.convert(null, TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Integer.class))).isNull();
...@@ -483,7 +482,7 @@ public class FormattingConversionServiceTests { ...@@ -483,7 +482,7 @@ public class FormattingConversionServiceTests {
} }
@Override @Override
public Integer parse(String text, Locale locale) throws ParseException { public Integer parse(String text, Locale locale) {
return null; return null;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册