esoe
4 months ago
23 changed files with 1588 additions and 385 deletions
@ -0,0 +1,23 @@ |
|||||||
|
$container_name = "gates" |
||||||
|
$image_name = "gates" |
||||||
|
$build_name = "gates" |
||||||
|
$code_location = "C:\Users\devuser\Documents\code\tech-services\gates" |
||||||
|
|
||||||
|
# Остановить и удалить существующий контейнер |
||||||
|
docker stop $container_name |
||||||
|
docker rm $container_name |
||||||
|
|
||||||
|
# Удалить существующий образ |
||||||
|
docker rmi $image_name |
||||||
|
|
||||||
|
# Перейти в каталог с проектом |
||||||
|
Set-Location $code_location |
||||||
|
|
||||||
|
# Собрать jar с помощью Maven |
||||||
|
mvn clean package |
||||||
|
|
||||||
|
# Запустить контейнер с помощью docker-compose |
||||||
|
docker-compose up |
||||||
|
|
||||||
|
# Пауза скрипта |
||||||
|
Pause |
@ -0,0 +1,49 @@ |
|||||||
|
package ru.mlokoin.gates.teh.strings; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
public class Arrayer { |
||||||
|
|
||||||
|
/** |
||||||
|
* Удаляет все пустые строки из массива строк и возвращает новый массив с оставшимися строками. |
||||||
|
* |
||||||
|
* @param strings Массив строк из которогу удаляются пустые строки. |
||||||
|
* @return Новый массив с оставшимися строками. |
||||||
|
*/ |
||||||
|
public static String[] removeEmptyStrings(String[] strings) { |
||||||
|
|
||||||
|
// Подсчет количества непустых строк в входном массиве
|
||||||
|
int count = 0; |
||||||
|
for (String string : strings) { |
||||||
|
if (!string.equals("")) { |
||||||
|
count++; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Новый массив для хранения непустых строк
|
||||||
|
String[] result = new String[count]; |
||||||
|
|
||||||
|
// Копирование непустых строк из входного массива в новый массив
|
||||||
|
int index = 0; |
||||||
|
for (String string : strings) { |
||||||
|
if (!string.equals("")) { |
||||||
|
result[index] = string; |
||||||
|
index++; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Возвращение нового массива с непустыми строками
|
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Удаление повторяющихся элементов списка строк |
||||||
|
* Получение списка уникальных строк |
||||||
|
* |
||||||
|
*/ |
||||||
|
public static List<String> uniqueList(List<String> list) { |
||||||
|
// Удаление повторяющихся элементов списка
|
||||||
|
List<String> result = list.stream().distinct().toList(); |
||||||
|
return result; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
package ru.mlokoin.gates.teh.strings; |
||||||
|
|
||||||
|
import java.time.LocalDate; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* Обработка строк с датами |
||||||
|
*/ |
||||||
|
public class Dater { |
||||||
|
private Long longDate; |
||||||
|
private String stringDate; |
||||||
|
private Date date; |
||||||
|
private LocalDate localDate; |
||||||
|
private LocalDateTime localDateTime; |
||||||
|
} |
@ -0,0 +1,237 @@ |
|||||||
|
package ru.mlokoin.gates.teh.strings; |
||||||
|
|
||||||
|
import ru.mlokoin.gates.model.Teacher; |
||||||
|
|
||||||
|
/** |
||||||
|
* Обработка строк, содержащих сведения о ФИО |
||||||
|
* - Teacher |
||||||
|
* - Student |
||||||
|
* - Person |
||||||
|
*/ |
||||||
|
public class Naimer { |
||||||
|
private static String not = "Нет"; |
||||||
|
/** |
||||||
|
* Объединяет фамилию, имя и отчество в одну строку. |
||||||
|
* Возможые ситуации: |
||||||
|
* - фамилия, имя или отчество могут содержать нулевые значения |
||||||
|
* - отчество может содержать приписки |
||||||
|
* |
||||||
|
* @param second_name - фамилия |
||||||
|
* @param first_name - имя |
||||||
|
* @param last_name - отчество |
||||||
|
* @return объединенную строку или пустую строку, |
||||||
|
* если все входящие параметры являются нулевыми значениями |
||||||
|
*/ |
||||||
|
public static String getFioOf(String second_name, String first_name, String last_name) { |
||||||
|
// Инициализируем StringBuilder для хранения результата.
|
||||||
|
StringBuilder result = new StringBuilder(); |
||||||
|
|
||||||
|
// Проверяем, является ли фамилия нулевым значением.
|
||||||
|
if (!Stringer.checkForEmpty(second_name)) { |
||||||
|
// Если фамилия не является нулевым значением, то добавляем ее в строку.
|
||||||
|
result.append(second_name); |
||||||
|
} else { |
||||||
|
// Если фамилия является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} |
||||||
|
|
||||||
|
// Проверяем, является ли имя нулевым значением.
|
||||||
|
if (!Stringer.checkForEmpty(first_name)) { |
||||||
|
// Если имя не является нулевым значением, то добавляем пробел и имя в строку.
|
||||||
|
result.append(" " + first_name); |
||||||
|
} else { |
||||||
|
// Если имя является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(" " + not); |
||||||
|
} |
||||||
|
|
||||||
|
// Проверяем, является ли отчество нулевым значением.
|
||||||
|
if (!Stringer.checkForEmpty(last_name)) { |
||||||
|
// Если отчество не является нулевым значением, то добавляем пробел и отчество в строку.
|
||||||
|
result.append(" " + last_name); |
||||||
|
} else { |
||||||
|
// Если отчество является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(" " + not); |
||||||
|
} |
||||||
|
|
||||||
|
// Возвращаем объединенную строку или строку "Нет Нет Нет",
|
||||||
|
//если все входящие параметры являются нулевыми значениями.
|
||||||
|
return result.toString().trim(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Объединяет фамилию, имя и отчество из объекта преподавателя в одну строку. |
||||||
|
* Возможные ситуации: |
||||||
|
* - фамилия, имя или отчество могут содержать нулевые значения |
||||||
|
* - отчество может содержать приписки |
||||||
|
* |
||||||
|
* @param teacher - объект преподавателя |
||||||
|
* @return объединенная строка или строка "Нет Нет Нет", |
||||||
|
* если все входящие параметры являются нулевыми значениями |
||||||
|
*/ |
||||||
|
public static String getFioOf(Teacher teacher) { |
||||||
|
// Инициализируем StringBuilder для хранения результата.
|
||||||
|
StringBuilder result = new StringBuilder(); |
||||||
|
|
||||||
|
// Проверяем, является ли фамилия нулевым значением.
|
||||||
|
if (!Stringer.checkForEmpty(teacher.getSecond_name())) { |
||||||
|
// Если фамилия не является нулевым значением, то добавляем ее в строку.
|
||||||
|
result.append(teacher.getSecond_name()); |
||||||
|
} else { |
||||||
|
// Если фамилия является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} |
||||||
|
|
||||||
|
// Проверяем, является ли имя нулевым значением.
|
||||||
|
if (!Stringer.checkForEmpty(teacher.getFirst_name())) { |
||||||
|
// Если имя не является нулевым значением, то добавляем пробел и имя в строку.
|
||||||
|
result.append(" " + teacher.getFirst_name()); |
||||||
|
} else { |
||||||
|
// Если имя является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(" " + not); |
||||||
|
} |
||||||
|
|
||||||
|
// Проверяем, является ли отчество нулевым значением.
|
||||||
|
if (!Stringer.checkForEmpty(teacher.getLast_name())) { |
||||||
|
// Если отчество не является нулевым значением, то добавляем пробел и отчество в строку.
|
||||||
|
result.append(" " + teacher.getLast_name()); |
||||||
|
} else { |
||||||
|
// Если отчество является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(" " + not); |
||||||
|
} |
||||||
|
|
||||||
|
// Возвращаем объединенную строку или строку "Нет Нет Нет", если все входящие параметры
|
||||||
|
// являются нулевыми значениями.
|
||||||
|
return result.toString().trim(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Извлекает фамилию из строки, содержащей полное имя (ФИО). |
||||||
|
* Строка ФИО может содержать: |
||||||
|
* - пустую строку (null, empty, "") |
||||||
|
* - одно слово (фамилия, "Нет", односложный комментарий) |
||||||
|
* - два слова (фамилия, имя, "Нет") |
||||||
|
* - три слова (фамилия, имя, отчество, "Нет") |
||||||
|
* - четыре слова (фамилия, имя, отчество, постфикс отчества, комментарии) |
||||||
|
* - и более. |
||||||
|
* |
||||||
|
* Все слова начиная с пятого однозначно являются бесполезным наполнением, однако |
||||||
|
* такие слова должны включены в строку отчества, если они есть. |
||||||
|
* |
||||||
|
* Строка может быть извлечена из xlsx файла |
||||||
|
* или сгенерирована из данныых содержащихся в базе данных |
||||||
|
* |
||||||
|
* @param fio строка, содержащая ФИО |
||||||
|
* @return строка, содержащая первое слово из fio которое является фамилией или содержит слово "Нет" |
||||||
|
*/ |
||||||
|
public static String getSecondNameOf(String fio) { |
||||||
|
// Инициализируем StringBuilder для хранения результата.
|
||||||
|
StringBuilder result = new StringBuilder(); |
||||||
|
|
||||||
|
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
|
||||||
|
if (Stringer.checkForEmpty(fio)) { |
||||||
|
// Если строка является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} else { |
||||||
|
//убираем пробелы в начале и в конце строки
|
||||||
|
fio = fio.trim(); |
||||||
|
|
||||||
|
// Разделяем строку на пробелы и возвращаем первую часть, которая как ожидается является фамилией
|
||||||
|
result.append(fio.split(" ")[0]); |
||||||
|
} |
||||||
|
|
||||||
|
// Возвращаем первое слово в строке или строку "Нет"
|
||||||
|
return result.toString().trim(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Извлекает имя (фамилия, имя или отчество) из строки, предположительно содержащей только одно слово. |
||||||
|
* - проверяет не пустая ли строка, если нет, то добавляет "Нет" |
||||||
|
* - очищает строку от лишних пробельных символов |
||||||
|
* - возвращает имя или "Нет" |
||||||
|
* |
||||||
|
* @param name |
||||||
|
* @return name |
||||||
|
*/ |
||||||
|
public static String getNameOf(String name) { |
||||||
|
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
|
||||||
|
if (Stringer.checkForEmpty(name)) { |
||||||
|
// Если строка является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
return not; |
||||||
|
} else { |
||||||
|
//очищаем строку
|
||||||
|
name = Stringer.clear(name); |
||||||
|
// возвращаем имя
|
||||||
|
return name; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Извлекает имя из строки, содержащей полное имя (ФИО). |
||||||
|
* |
||||||
|
* @param fio строка, содержащая ФИО |
||||||
|
* @return строка, содержащая второе слово из fio которое является именем или содержит слово "Нет" |
||||||
|
*/ |
||||||
|
public static String getFirstNameOf(String fio) { |
||||||
|
// Создаем StringBuilder для хранения результата
|
||||||
|
StringBuilder result = new StringBuilder(); |
||||||
|
|
||||||
|
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
|
||||||
|
if (Stringer.checkForEmpty(fio)) { |
||||||
|
// Если строка является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} else { |
||||||
|
//убираем излишние пробельные символы
|
||||||
|
fio = Stringer.clear(fio); |
||||||
|
|
||||||
|
// Разбиваем строку по пробелам и пишем слова в массив
|
||||||
|
String[] strings = fio.split(" "); |
||||||
|
|
||||||
|
// Если массив содержит два или более слов, то второе слово является именем.
|
||||||
|
if (strings.length > 1) { |
||||||
|
// Пишем второе слово в результат
|
||||||
|
result.append(strings[1].trim()); |
||||||
|
}else { |
||||||
|
// Если массив содержит только одно слово, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} |
||||||
|
} |
||||||
|
// Возвращаем второе слово в строке или строку "Нет"
|
||||||
|
return result.toString().trim(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Извлекает отчество из строки, содержащей полное имя (ФИО). |
||||||
|
* @param fio строка, содержащая ФИО |
||||||
|
* @return строка, содержащая третье слово из fio которое является отчеством\ |
||||||
|
* или содержит слово "Нет" |
||||||
|
* или содержит все слова, содержащиеся в ФИО, за исключением первых двух |
||||||
|
*/ |
||||||
|
public static String getLastNameOf(String fio) { |
||||||
|
// Создаем StringBuilder для хранения результата
|
||||||
|
StringBuilder result = new StringBuilder(); |
||||||
|
|
||||||
|
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
|
||||||
|
if (Stringer.checkForEmpty(fio)) { |
||||||
|
// Если строка является нулевым значением, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} else { |
||||||
|
//убираем пробелы в начале и в конце строки
|
||||||
|
fio = fio.trim(); |
||||||
|
fio = Stringer.clear(fio); |
||||||
|
|
||||||
|
String[] strings = fio.split(" "); |
||||||
|
if (strings.length > 2) { |
||||||
|
// Пишем третье и последующие слова в результат
|
||||||
|
for (int i = 2; i < strings.length; i++) { |
||||||
|
result.append(strings[i]).append(" "); |
||||||
|
} |
||||||
|
} else { |
||||||
|
// Если массив содержит только два или менее слов, то добавляем "Нет" в строку.
|
||||||
|
result.append(not); |
||||||
|
} |
||||||
|
} |
||||||
|
// Возвращаем строку ФИО без первых двух слов с удаленными лишними пробелами
|
||||||
|
return result.toString().trim(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
package ru.mlokoin.gates.teh.strings; |
||||||
|
|
||||||
|
/** |
||||||
|
* Класс для работы со строками |
||||||
|
*/ |
||||||
|
public class Stringer { |
||||||
|
|
||||||
|
/** |
||||||
|
* Проверяет, является ли переданная строка null, пустой строкой или состоит только из пробелов. |
||||||
|
* |
||||||
|
* @param str Строка для проверки |
||||||
|
* @return True если строка является null, пустой строкой или состоит только из пробелов |
||||||
|
* False в противном случае |
||||||
|
*/ |
||||||
|
public static Boolean checkForEmpty(String str) { |
||||||
|
// Check if the string is null
|
||||||
|
if (str == null) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
// Check if the string is empty or consists only of whitespace characters
|
||||||
|
if (str.isEmpty() || str.trim().isEmpty()) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
// The string is not null, not empty and does not consist only of whitespace characters
|
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Удаляет регулярным выражением лишние пробельные символы из строки. |
||||||
|
* |
||||||
|
* Заменяет знаки переноса строки на пробелы с помощью использования регулярного выражения |
||||||
|
* \s+ - пробелы (и все ниже приведенные пробельные символы) |
||||||
|
* \t - табуляция |
||||||
|
* \v - вертикальная табуляция |
||||||
|
* \r - перенос в начало строки |
||||||
|
* \n - перенос строки |
||||||
|
* \f - форматированный перенос строки |
||||||
|
* |
||||||
|
* Осавляет по одному пробелу между словами, если слов больше одного |
||||||
|
* Возвращает пустую строку, если получена строка null |
||||||
|
* |
||||||
|
* @param string строка для обработки |
||||||
|
* @return строку без лишних пробелов или пустую строку |
||||||
|
*/ |
||||||
|
public static String clear(String string) { |
||||||
|
// Проверяем, не является ли строка null. Если строка null, возвращаем пустую строку.
|
||||||
|
if (string == null) { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
|
||||||
|
// Удаляем лишние пробелы из строки.
|
||||||
|
return string.replaceAll("\\s+", " ").trim(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,434 @@ |
|||||||
|
package ru.mlokoin.gates.teh.strings; |
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test; |
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals; |
||||||
|
|
||||||
|
public class NaimerTest { |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf() |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf() для пустых строк |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFioOf_EmptyStrings() { |
||||||
|
// Проеряем, что метод getFioOf вернет "Нет Нет Нет" строку, когда входные параметры являются пустыми строками.
|
||||||
|
assertEquals("Нет Нет Нет", |
||||||
|
Naimer.getFioOf("", "", ""), |
||||||
|
"Метод merge возвращает неожиданное значение для пустых входных параметров"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf() для null |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFioOf_Null() { |
||||||
|
// Проеряем, что метод getFioOf вернет "Нет Нет Нет" строку, когда входные параметры являются null.
|
||||||
|
assertEquals("Нет Нет Нет", |
||||||
|
Naimer.getFioOf(null, null, null), |
||||||
|
"Метод merge возвращает неожиданное значение для null входных параметров"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf() когда предоставлена только фамилии |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFioOf_OnlySecondName() { |
||||||
|
// Проверяем, что метод getFioOf вернет строку с фамилией и без пробелов, если остальные входные параметры являются пустыми строками.
|
||||||
|
assertEquals("Иванов Нет Нет", |
||||||
|
Naimer.getFioOf("Иванов", "", ""), |
||||||
|
"Метод merge возвращает неожиданное значение для входных параметров только с фамилией"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf() когда предоставлено только имя |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFioOf_OnlyFirstName() { |
||||||
|
// Проверяем, что метод getFioOf вернет строку с именем и без пробелов, если остальные входные параметры являются пустыми строками.
|
||||||
|
assertEquals("Нет Иван Нет", |
||||||
|
Naimer.getFioOf("", "Иван", ""), |
||||||
|
"Метод merge возвращает неожиданное значение для входных параметров только с именем"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf(), когда предоставлено только отчество |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFioOf_OnlyLastName() { |
||||||
|
// Проверяем, что метод getFioOf вернет строку с отчеством и без пробелов, если остальные входные параметры являются пустыми строками.
|
||||||
|
assertEquals("Нет Нет Иванович", |
||||||
|
Naimer.getFioOf("", "", "Иванович"), |
||||||
|
"Метод merge возвращает неожиданное значение для входных параметров только с отчеством"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFioOf() для всех входных параметров |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFioOf_AllNames() { |
||||||
|
// Проеряем, что метод getFioOf вернет "Иванов Иван Иванович" строку, когда входные параметры являются непустыми строками.
|
||||||
|
assertEquals("Иванов Иван Иванович", |
||||||
|
Naimer.getFioOf("Иванов", "Иван", "Иванович"), |
||||||
|
"Метод merge возвращает неожиданное значение для входных параметров с фамилией, именем и отчеством"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() для пустых строк |
||||||
|
* "" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_EmptyStrings() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Нет" строку, когда входные параметры являются пустыми строками.
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getSecondNameOf(""), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для пустых входных параметров"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() для null |
||||||
|
* null |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_Null() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Нет" строку, когда входные параметры являются null.
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getSecondNameOf(null), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для null входных параметров"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего одно слово |
||||||
|
* "Иванов" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_OneWord() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет слово, когда входные параметры содержат одно слово.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf("Иванов"), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для входных параметров содержащих одно слово"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего два слова |
||||||
|
* "Иванов Иван" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_TwoWords() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Иванов" строку, когда входные параметры содержат два слова.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf("Иванов Иван"), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для входных параметров содержащих два слова"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего два слова и пробелы перед первым словом и после второго |
||||||
|
* " Иванов Иван " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_TwoWordsWithSpaces() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Иванов" строку, когда входные параметры содержат два слова.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf(" Иванов Иван "), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для входных параметров содержащих два слова и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего три слова, без лишних пробелов |
||||||
|
* "Иванов Иван Иванович" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_ThreeWords() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Иванов" строку, когда входные параметры содержат три слова.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf("Иванов Иван Иванович"), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для входных параметров содержащих три слова"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего три слова и лишние пробелы |
||||||
|
* " Иванов Иван Иванович " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_ThreeWordsWithSpaces() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Иванов" строку, когда входные параметры содержат три слова.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf(" Иванов Иван Иванович "), |
||||||
|
"Метод merge возвращает неожиданное значение для входных параметров содержащих три слова и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего четыре слова |
||||||
|
* "Иванов Иван Иванович заочно" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_FourWords() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Иванов" строку, когда входные параметры содержат четыре слова.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf("Иванов Иван Иванович заочно"), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для входных параметров содержащих четыре слова"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getSecondNameOf() ФИО, содержащего четыре слова и лишние пробелы |
||||||
|
* " Иванов Иван Иванович заочно " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetSecondNameOf_FourWordsWithSpaces() { |
||||||
|
// Проеряем, что метод getSecondNameOf вернет "Иванов" строку, когда входные параметры содержат четыре слова.
|
||||||
|
assertEquals("Иванов", |
||||||
|
Naimer.getSecondNameOf(" Иванов Иван Иванович заочно "), |
||||||
|
"Метод getSecondNameOf возвращает неожиданное значение для входных параметров содержащих четыре слова и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего |
||||||
|
* null |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_Null() { |
||||||
|
// Проеряем, что метод getFirstNameOf вернет "Нет" строку, когда входные параметры являются null.
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getFirstNameOf(null), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для null входных параметров"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего пустую строку |
||||||
|
* "" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_Empty() { |
||||||
|
// Проеряем, что метод getFirstNameOf вернет "Нет" строку, когда входные параметры являются пустой строкой.
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getFirstNameOf(""), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для пустой строки входных параметров"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего одно слово |
||||||
|
* "Иванов" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_OneWord() { |
||||||
|
// Проеряем, что метод getFirstNameOf вернет "Нет" строку, когда входные параметры содержат одно слово.
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getFirstNameOf("Иванов"), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих одно слово"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего одно слово и лишние пробелы |
||||||
|
* " Иванов " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_OneWordWithSpaces() { |
||||||
|
// Проверяем, что метод getFirstNameOf вернет "Нет" строку, когда входные параметры содержат одно слово с лишними пробелами.
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getFirstNameOf(" Иванов "), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих одно слово и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего два слова |
||||||
|
* "Иванов Иван" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_TwoWords() { |
||||||
|
// Проеряем, что метод getFirstNameOf вернет второе слово, когда входные параметры содержат два слова.
|
||||||
|
assertEquals("Иван", |
||||||
|
Naimer.getFirstNameOf("Иванов Иван"), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих два слова"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего два слова и лишние пробелы |
||||||
|
* " Иванов Иван " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_TwoWordsWithSpaces() { |
||||||
|
// Задаем ожидаемой значение
|
||||||
|
String expected = "Иван"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = " Иванов Иван "; |
||||||
|
|
||||||
|
// Проеряем, что метод getFirstNameOf вернет второе слово, когда входные параметры содержат два слова и лишние пробелы.
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getFirstNameOf(fio), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих два слова и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего три слова |
||||||
|
* "Иванов Иван Иванович" |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_ThreeWords() { |
||||||
|
// Проеряем, что метод getFirstNameOf вернет второе слово, когда входные параметры содержат три слова.
|
||||||
|
assertEquals("Иван", |
||||||
|
Naimer.getFirstNameOf("Иванов Иван Иванович"), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих три слова"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего три слова и лишние пробелы |
||||||
|
* " Иванов Иван Иванович " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_ThreeWordsWithSpaces() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Иван"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = " Иванов Иван Иванович "; |
||||||
|
|
||||||
|
// Проеряем, что метод getFirstNameOf вернет второе слово, когда входные параметры содержат три слова.
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getFirstNameOf(fio), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих три слова и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getFirstNameOf() ФИО, содержащего четыре слова и лишние пробелы |
||||||
|
* " Иванов Иван Иванович очнов " |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetFirstNameOf_FourWordsWithSpaces() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Иван"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = " Иванов Иван Иванович очнов "; |
||||||
|
|
||||||
|
// Проеряем, что метод getFirstNameOf вернет второе слово, когда входные параметры содержат четыре слова и лишние пробелы.
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getFirstNameOf(fio), |
||||||
|
"Метод getFirstNameOf возвращает неожиданное значение для входных параметров содержащих четыре слова и излишние пробелы"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тесты метода getLastNameOf() |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего null |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_Null() { |
||||||
|
// Проеряем, что метод getLastNameOf вернет "Нет" для null
|
||||||
|
assertEquals("Нет", |
||||||
|
Naimer.getLastNameOf(null), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для null"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего пустую строку |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_Empty() { |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = ""; |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Нет"; |
||||||
|
|
||||||
|
// Проеряем, что метод getLastNameOf вернет "Нет" для пустой строки
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getLastNameOf(fio), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для пустой строки"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего только пробелы |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_Spaces() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Нет"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = " "; |
||||||
|
|
||||||
|
// Проеряем, что метод getLastNameOf вернет "Нет" для строки заполненной только пробелами
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getLastNameOf(fio), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для строки заполненной только пробелами"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего одно слово |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_OneWord() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Нет"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = "Иванов"; |
||||||
|
|
||||||
|
// Проеряем, что метод getLastNameOf вернет "Нет" для одного слова
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getLastNameOf(fio), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для одного слова"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего два слова |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_TwoWords() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Нет"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = "Иванов Иван"; |
||||||
|
|
||||||
|
// Проеряем, что метод getLastNameOf вернет "Нет" для двух слов
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getLastNameOf(fio), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для двух слов"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего три слова с излишними пробелами |
||||||
|
* |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_ThreeWordsWithSpaces() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Иванович"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = " Иванов Иван Иванович "; |
||||||
|
|
||||||
|
// Проверяем, что метод getLastNameOf вернет "Иванович" для трех слов с излишними пробелами
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getLastNameOf(fio), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для трех слов с излишними пробелами"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Тест метода getLastNameOf() ФИО, содержащего четыре слова и излишние пробелы |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testGetLastNameOf_FourWordsWithSpaces() { |
||||||
|
// Задаем ожидаемое значение
|
||||||
|
String expected = "Иванович очно"; |
||||||
|
// Задаем входные параметры
|
||||||
|
String fio = " Иванов Иван Иванович очно "; |
||||||
|
|
||||||
|
// Проверяем, что метод getLastNameOf вернет "Иванович" для четырех слов с излишними пробелами
|
||||||
|
assertEquals(expected, |
||||||
|
Naimer.getLastNameOf(fio), |
||||||
|
"Метод getLastNameOf возвращает неожиданное значение для четырех слов с излишними пробелами"); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,61 @@ |
|||||||
|
package ru.mlokoin.gates.teh.strings; |
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test; |
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue; |
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse; |
||||||
|
|
||||||
|
/** |
||||||
|
* Класс для тестирования метода checkForEmpty(String) |
||||||
|
*/ |
||||||
|
public class StringerCheckForEmptyTest { |
||||||
|
/** |
||||||
|
* Проверяем поведение метода checkForEmpty(String) когда на вход метода передана строка null. |
||||||
|
* |
||||||
|
* @see Stringer#checkForEmpty(String) |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testCheckForEmpty_NullString() { |
||||||
|
// Ожидаем, что метод вернет true, когда входная строка является null
|
||||||
|
assertTrue(Stringer.checkForEmpty(null), |
||||||
|
"Метод checkForEmpty возвращает неожиданное значение для null строки"); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Проверяем поведение метода checkForEmpty(String) для пустой строки. |
||||||
|
* |
||||||
|
* @see Stringer#checkForEmpty(String) |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testCheckForEmpty_EmptyString() { |
||||||
|
// Проверяем, что метод вернет true, когда входная строка является пустой
|
||||||
|
assertTrue(Stringer.checkForEmpty(""), |
||||||
|
"Метод checkForEmpty возвращает неожиданное значение для пустой строки"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Проверяем поведение метода checkForEmpty(String) для строки, состоящей только из пробелов. |
||||||
|
* |
||||||
|
* @see Stringer#checkForEmpty(String) |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testCheckForEmpty_WhitespaceString() { |
||||||
|
// Проверяем, что метод вернет true, когда входная строка состоит только из пробелов
|
||||||
|
// и не содержит других символов
|
||||||
|
assertTrue(Stringer.checkForEmpty(" "), |
||||||
|
"Метод checkForEmpty возвращает неожиданное значение для строки с пробелами"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Проверяем поведение метода checkForEmpty(String) для непустой строки. |
||||||
|
* |
||||||
|
* @see Stringer#checkForEmpty(String) |
||||||
|
*/ |
||||||
|
@Test |
||||||
|
public void testCheckForEmpty_NonEmptyString() { |
||||||
|
// Проверяем, что метод вернет false, когда входная строка не является пустой,
|
||||||
|
// содержит другие символы кроме пробелов и не является null
|
||||||
|
assertFalse(Stringer.checkForEmpty("hello world"), |
||||||
|
"Метод checkForEmpty возвращает неожиданное значение для непустой строки"); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue