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"));
}
}