From 957c2c72505abdd116783dfb20079540950d0e78 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Tue, 27 Jul 2021 13:22:05 +0900 Subject: [PATCH] type converter : converter test --- .../converter/IntegerToStringConverter.java | 14 ++++++ .../converter/IpPortToStringConverter.java | 17 +++++++ .../converter/StringToIntegerConverter.java | 14 ++++++ .../converter/StringToIpPortConverter.java | 19 ++++++++ .../java/hello/typeconverter/type/IpPort.java | 16 +++++++ .../typeconverter/conveter/ConverterTest.java | 44 +++++++++++++++++++ 6 files changed, 124 insertions(+) create mode 100644 typeconverter/src/main/java/hello/typeconverter/converter/IntegerToStringConverter.java create mode 100644 typeconverter/src/main/java/hello/typeconverter/converter/IpPortToStringConverter.java create mode 100644 typeconverter/src/main/java/hello/typeconverter/converter/StringToIntegerConverter.java create mode 100644 typeconverter/src/main/java/hello/typeconverter/converter/StringToIpPortConverter.java create mode 100644 typeconverter/src/main/java/hello/typeconverter/type/IpPort.java create mode 100644 typeconverter/src/test/java/hello/typeconverter/conveter/ConverterTest.java diff --git a/typeconverter/src/main/java/hello/typeconverter/converter/IntegerToStringConverter.java b/typeconverter/src/main/java/hello/typeconverter/converter/IntegerToStringConverter.java new file mode 100644 index 00000000..83248c67 --- /dev/null +++ b/typeconverter/src/main/java/hello/typeconverter/converter/IntegerToStringConverter.java @@ -0,0 +1,14 @@ +package hello.typeconverter.converter; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.convert.converter.Converter; + +@Slf4j +public class IntegerToStringConverter implements Converter { + + @Override + public String convert(Integer source) { + log.info("convert source={}", source); + return String.valueOf(source); + } +} diff --git a/typeconverter/src/main/java/hello/typeconverter/converter/IpPortToStringConverter.java b/typeconverter/src/main/java/hello/typeconverter/converter/IpPortToStringConverter.java new file mode 100644 index 00000000..6cb910ca --- /dev/null +++ b/typeconverter/src/main/java/hello/typeconverter/converter/IpPortToStringConverter.java @@ -0,0 +1,17 @@ +package hello.typeconverter.converter; + +import hello.typeconverter.type.IpPort; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.convert.converter.Converter; + +@Slf4j +public class IpPortToStringConverter implements Converter { + + @Override + public String convert(IpPort source) { + log.info("convert source={}", source); + + // IpPort 객체 -> "127.0.0.1:8080" + return source.getIp() + ":" + source.getPort(); + } +} diff --git a/typeconverter/src/main/java/hello/typeconverter/converter/StringToIntegerConverter.java b/typeconverter/src/main/java/hello/typeconverter/converter/StringToIntegerConverter.java new file mode 100644 index 00000000..3b84cca7 --- /dev/null +++ b/typeconverter/src/main/java/hello/typeconverter/converter/StringToIntegerConverter.java @@ -0,0 +1,14 @@ +package hello.typeconverter.converter; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.convert.converter.Converter; + +@Slf4j +public class StringToIntegerConverter implements Converter { + + @Override + public Integer convert(String source) { + log.info("convert source={}", source); + return Integer.valueOf(source); + } +} diff --git a/typeconverter/src/main/java/hello/typeconverter/converter/StringToIpPortConverter.java b/typeconverter/src/main/java/hello/typeconverter/converter/StringToIpPortConverter.java new file mode 100644 index 00000000..e8d04625 --- /dev/null +++ b/typeconverter/src/main/java/hello/typeconverter/converter/StringToIpPortConverter.java @@ -0,0 +1,19 @@ +package hello.typeconverter.converter; + +import hello.typeconverter.type.IpPort; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.convert.converter.Converter; + +@Slf4j +public class StringToIpPortConverter implements Converter { + + @Override + public IpPort convert(String source) { + log.info("convert source={}", source); + // "127.0.0.1:8080" -> IpPort 객채 + String[] split = source.split(":"); + String ip = split[0]; + int port = Integer.parseInt(split[1]); + return new IpPort(ip, port); + } +} diff --git a/typeconverter/src/main/java/hello/typeconverter/type/IpPort.java b/typeconverter/src/main/java/hello/typeconverter/type/IpPort.java new file mode 100644 index 00000000..02f43b72 --- /dev/null +++ b/typeconverter/src/main/java/hello/typeconverter/type/IpPort.java @@ -0,0 +1,16 @@ +package hello.typeconverter.type; + +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode +public class IpPort { + private String ip; + private int port; + + public IpPort(String ip, int port) { + this.ip = ip; + this.port = port; + } +} diff --git a/typeconverter/src/test/java/hello/typeconverter/conveter/ConverterTest.java b/typeconverter/src/test/java/hello/typeconverter/conveter/ConverterTest.java new file mode 100644 index 00000000..6da93c9b --- /dev/null +++ b/typeconverter/src/test/java/hello/typeconverter/conveter/ConverterTest.java @@ -0,0 +1,44 @@ +package hello.typeconverter.conveter; + +import hello.typeconverter.converter.IntegerToStringConverter; +import hello.typeconverter.converter.IpPortToStringConverter; +import hello.typeconverter.converter.StringToIntegerConverter; +import hello.typeconverter.converter.StringToIpPortConverter; +import hello.typeconverter.type.IpPort; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.*; + +public class ConverterTest { + + @Test + void stringToInteger() { + StringToIntegerConverter converter = new StringToIntegerConverter(); + Integer result = converter.convert("10"); + assertThat(result).isEqualTo(10); + } + + @Test + void integerToString() { + IntegerToStringConverter converter = new IntegerToStringConverter(); + String result = converter.convert(10); + assertThat(result).isEqualTo("10"); + } + + @Test + void ipPortToString() { + IpPortToStringConverter converter = new IpPortToStringConverter(); + IpPort source = new IpPort("127.0.0.1", 8080); + String result = converter.convert(source); + assertThat(result).isEqualTo("127.0.0.1:8080"); + } + + @Test + void stringToIpPort() { + StringToIpPortConverter converter = new StringToIpPortConverter(); + String source = "127.0.0.1:8080"; + IpPort result = converter.convert(source); + assertThat(result).isEqualTo(new IpPort("127.0.0.1", 8080)); + } +}