esoe
4 months ago
23 changed files with 1588 additions and 385 deletions
@ -0,0 +1,23 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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