From edbbe4d2b1c31bad26cbf8b6e98d33239c080764 Mon Sep 17 00:00:00 2001 From: Zyzf Date: Tue, 28 Feb 2023 13:51:45 +0400 Subject: [PATCH] done --- front/index.html | 51 +++++++++--------- front/index.js | 23 ++++---- .../com/kalyshev/yan/WebConfiguration.java | 13 +++++ .../yan/maker/domain/MakerString.java | 9 ++-- .../yan/maker/service/MakerService.java | 13 +---- .../com/kalyshev/yan/YanApplicationTests.java | 54 ++++++++++++++++++- 6 files changed, 111 insertions(+), 52 deletions(-) create mode 100644 src/main/java/com/kalyshev/yan/WebConfiguration.java diff --git a/front/index.html b/front/index.html index e20268c..47d982e 100644 --- a/front/index.html +++ b/front/index.html @@ -9,38 +9,41 @@

Конвертр текста!

- - + +
Пожалуйста, введите текст
-
- - -
+ + +
Пожалуйста, введите текст
+
+
+
- - + + +
+
+ + +
+
+ + +
+
+ +
-
-
- - - -
-
-
-
- - - - -
-
- +

Результат:

diff --git a/front/index.js b/front/index.js index 39cb0e1..adb70b3 100644 --- a/front/index.js +++ b/front/index.js @@ -15,23 +15,24 @@ document.addEventListener('DOMContentLoaded', function() { document.getElementsByClassName("needs-validation")[0].addEventListener('submit', async function(event) { event.preventDefault(); - url = "" - if (document.getElementById("radioUppercase").checked) { - url = "http://localhost:8080/uppercase?value=" + document.getElementById("input").value + url = "http://localhost:8080/" + if (document.getElementById("radioPlus").checked) { + url += "plus" } - if (document.getElementById("radioLowcase").checked) { - url = "http://localhost:8080/lowercase?value=" + document.getElementById("input").value + if (document.getElementById("radioMinus").checked) { + url += "minus" } - if (document.getElementById("radioSplit").checked) { - url = "http://localhost:8080/split?value=" + document.getElementById("input").value + "&splitBy=" + document.getElementById("inputSplitBy").value + if (document.getElementById("radioMultiply").checked) { + url += "multiply" } - if (document.getElementById("radioReplace").checked) { - url = "http://localhost:8080/replace?value=" + document.getElementById("input").value + "&old=" + document.getElementById("inputReplaceOld").value + "&new=" + document.getElementById("inputReplaceNew").value + if (document.getElementById("radioDivide").checked) { + url += "divide" } - if (url == "") { + if (url == "http://localhost:8080/") { document.getElementById("result").innerHTML = "Выберите действие!" + return } - // performFetch(url).then(data => {document.getElementById("result").innerHTML = data}) + url += "?value1=" + document.getElementById("input1").value + "&value2=" + document.getElementById("input2").value + "&type=" + document.getElementById("selectType").value document.getElementById("result").innerHTML = await performFetch(url) }); diff --git a/src/main/java/com/kalyshev/yan/WebConfiguration.java b/src/main/java/com/kalyshev/yan/WebConfiguration.java new file mode 100644 index 0000000..358930b --- /dev/null +++ b/src/main/java/com/kalyshev/yan/WebConfiguration.java @@ -0,0 +1,13 @@ +package com.kalyshev.yan; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfiguration implements WebMvcConfigurer { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**").allowedMethods("*"); + } +} \ No newline at end of file diff --git a/src/main/java/com/kalyshev/yan/maker/domain/MakerString.java b/src/main/java/com/kalyshev/yan/maker/domain/MakerString.java index 2fff20b..15592e9 100644 --- a/src/main/java/com/kalyshev/yan/maker/domain/MakerString.java +++ b/src/main/java/com/kalyshev/yan/maker/domain/MakerString.java @@ -13,19 +13,20 @@ public class MakerString implements Maker { } @Override public String minus(String value1, String value2) { - String res = ""; + StringBuilder res = new StringBuilder(); for (char val1: value1.toCharArray()) { - Boolean flag = true; + boolean flag = true; for (char val2: value2.toCharArray()) { if (val1 == val2) { flag = false; + break; } } if (flag) { - res += val1; + res.append(val1); } } - return res; + return res.toString(); } @Override public String multiply(String value1, Integer value2) { diff --git a/src/main/java/com/kalyshev/yan/maker/service/MakerService.java b/src/main/java/com/kalyshev/yan/maker/service/MakerService.java index 86a5546..c27aa4f 100644 --- a/src/main/java/com/kalyshev/yan/maker/service/MakerService.java +++ b/src/main/java/com/kalyshev/yan/maker/service/MakerService.java @@ -2,6 +2,7 @@ package com.kalyshev.yan.maker.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import com.kalyshev.yan.maker.domain.Maker; @@ -22,9 +23,6 @@ public class MakerService { } else if (type.equals("string")) { return maker.plus(value1.toString(), value2.toString()); } - else { - return "Ошибка типа"; - } } public Object minus(Object value1, Object value2, String type) { final Maker maker = (Maker) applicationContext.getBean(type); @@ -33,9 +31,6 @@ public class MakerService { } else if (type.equals("string")) { return maker.minus(value1.toString(), value2.toString()); } - else { - return "Ошибка типа"; - } } public Object multiply(Object value1, Object value2, String type) { final Maker maker = (Maker) applicationContext.getBean(type); @@ -44,9 +39,6 @@ public class MakerService { } else if (type.equals("string")) { return maker.multiply(value1.toString(), Integer.valueOf(value2.toString())); } - else { - return "Ошибка типа"; - } } public Object divide(Object value1, Object value2, String type) { final Maker maker = (Maker) applicationContext.getBean(type); @@ -55,8 +47,5 @@ public class MakerService { } else if (type.equals("string")) { return maker.divide(value1.toString(), Integer.valueOf(value2.toString())); } - else { - return "Ошибка типа"; - } } } \ No newline at end of file diff --git a/src/test/java/com/kalyshev/yan/YanApplicationTests.java b/src/test/java/com/kalyshev/yan/YanApplicationTests.java index 2a4c772..da4fc50 100644 --- a/src/test/java/com/kalyshev/yan/YanApplicationTests.java +++ b/src/test/java/com/kalyshev/yan/YanApplicationTests.java @@ -1,13 +1,65 @@ package com.kalyshev.yan; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import com.kalyshev.yan.maker.service.MakerService; @SpringBootTest class YanApplicationTests { + @Autowired + MakerService makerService; @Test - void contextLoads() { + void testMakerIntegerPlus() { + final Object res = makerService.plus(1, 2, "int"); + Assertions.assertEquals(3, res); + } + @Test + void testMakerIntegerMinus() { + final Object res = makerService.minus(3, 1, "int"); + Assertions.assertEquals(2, res); + } + @Test + void testMakerIntegerMultiply() { + final Object res = makerService.multiply(3, 2, "int"); + Assertions.assertEquals(6, res); + } + @Test + void testMakerIntegerDivide() { + final Object res = makerService.divide(6, 2, "int"); + Assertions.assertEquals(3, res); + } + @Test + void testMakerStringPlus() { + final Object res = makerService.plus("str1", "str2", "string"); + Assertions.assertEquals("str1str2", res); + } + @Test + void testMakerStringMinus() { + final Object res = makerService.minus("sas", "s", "string"); + Assertions.assertEquals("a", res); + } + @Test + void testMakerStringMultiply() { + final Object res = makerService.multiply("sas", 2, "string"); + Assertions.assertEquals("sassas", res); + } + @Test + void testMakerStringDivide() { + final Object res = makerService.divide("12345678", 4, "string"); + Assertions.assertEquals("12 ; 34 ; 56 ; 78 ; ", res); + } + @Test + void testMakerStringDivideFalse() { + final Object res = makerService.divide("12345678", 4, "string"); + Assertions.assertEquals("12 ; 34 ; 56 ; 78 ;", res); + } + @Test + void testSpeakerFalseBean() { + Assertions.assertThrows(NoSuchBeanDefinitionException.class, () -> makerService.plus("Мир", "труд", "double")); } }