Skip to content

Commit

Permalink
Добавлены методы toString()
Browse files Browse the repository at this point in the history
  • Loading branch information
kalenchukov committed Aug 5, 2022
1 parent ce22a0a commit 6f7b372
Show file tree
Hide file tree
Showing 18 changed files with 343 additions and 2 deletions.
16 changes: 16 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,22 @@ alphabet.getPosition('ё');
// Результат выполнения: 7
```

#### Получение букв алфавита в виде строки с разделителем

```java
Alphabetical alphabet = new RussianAlphabet();
alphabet.toString(",");
// Результат выполнения: А,а,Б,б,В,в,Г,г,Д,д,Е,е,Ё,ё,Ж,ж,З,з,И,и,Й,й,К,к,Л,л,М,м,Н,н,О,о,П,п,Р,р,С,с,Т,т,У,у,Ф,ф,Х,х,Ц,ц,Ч,ч,Ш,ш,Щ,щ,Ъ,ъ,Ы,ы,Ь,ь,Э,э,Ю,ю,Я,я
```

#### Получение букв алфавита в виде строки

```java
Alphabetical alphabet = new RussianAlphabet();
alphabet.toString();
// Результат выполнения: АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя
```

## Установка

Для установки этого проекта, введите в терминале:
Expand Down
1 change: 0 additions & 1 deletion TODO.MD
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@
* [?] Получение клавиатурного порядка букв
* Латинский алфавит добавить
* [?] Перечисления для получения алфавитов, алфавитов прописных букв, алфавитов строчных букв
* [+] Метод join() объединения букв в строку с разделителем и без
* [+] Метод random() для получения случайных букв указанного количества
*
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<groupId>dev.kalenchukov</groupId>
<artifactId>alphabet</artifactId>
<version>2.0.0</version>
<version>2.1.0</version>

<name>Alphabet</name>
<description>Алфавиты языков мира</description>
Expand Down
28 changes: 28 additions & 0 deletions src/main/java/dev/kalenchukov/alphabet/AbstractAlphabet.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,4 +158,32 @@ public Integer getPosition(@NotNull final Character letter)

return Collections.unmodifiableList(letters);
}

/**
* @see Alphabetical#toString(String)
*/
@Override
@NotNull
public String toString(@NotNull final String separator)
{
StringBuilder string = new StringBuilder();

for (int index = 0; index < this.letters.size(); index++)
{
string.append(this.letters.get(index));

if (index != this.letters.size() - 1) {
string.append(separator);
}
}

return string.toString();
}

@Override
@NotNull
public String toString()
{
return this.toString("");
}
}
8 changes: 8 additions & 0 deletions src/main/java/dev/kalenchukov/alphabet/Alphabetical.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,12 @@ public interface Alphabetical
* @return {@code True} если буква принадлежит алфавиту, иначе {@code false}.
*/
boolean hasLetter(@NotNull final Character letter);

/**
* Преобразовывает буквы алфавита в строку.
*
* @param separator Разделитель букв.
* @return Строку из букв алфавита.
*/
String toString(@NotNull final String separator);
}
Original file line number Diff line number Diff line change
Expand Up @@ -257,4 +257,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('Ў'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "а,б,в,г,д,е,ё,ж,з,і,й,к,л,м,н,о,п,р,с,т,у,ў,ф,х,ц,ч,ш,ы,ь,э,ю,я";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "абвгдеёжзійклмнопрстуўфхцчшыьэюя";

assertEquals(string, ALPHABET.toString());
}
}
24 changes: 24 additions & 0 deletions src/test/java/dev/kalenchukov/alphabet/BelarusianAlphabetTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -368,4 +368,28 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('W'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "А,а,Б,б,В,в,Г,г,Д,д,Е,е,Ё,ё,Ж,ж,З,з,І,і,Й,й," +
"К,к,Л,л,М,м,Н,н,О,о,П,п,Р,р,С,с,Т,т,У,у,Ў,ў,Ф,ф,Х,х," +
"Ц,ц,Ч,ч,Ш,ш,Ы,ы,Ь,ь,Э,э,Ю,ю,Я,я";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "АаБбВвГгДдЕеЁёЖжЗзІіЙйКкЛлМмНнОоПпРрСсТтУуЎўФфХхЦцЧчШшЫыЬьЭэЮюЯя";

assertEquals(string, ALPHABET.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -257,4 +257,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('ў'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "А,Б,В,Г,Д,Е,Ё,Ж,З,І,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ў,Ф,Х,Ц,Ч,Ш,Ы,Ь,Э,Ю,Я";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШЫЬЭЮЯ";

assertEquals(string, ALPHABET.toString());
}
}
22 changes: 22 additions & 0 deletions src/test/java/dev/kalenchukov/alphabet/CyrillicAlphabetTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -288,4 +288,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('Q'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "А,Б,В,Г,Д,Е,Ж,Ѕ,З,И,І,К,Л,М,Н,О,П,Р,С,Т,Ꙋ,Ф,Х,Ѡ,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Ѣ,Ю,Ꙗ,Ѥ,Ѧ,Ѫ,Ѩ,Ѭ,Ѯ,Ѱ,Ѳ,Ѵ";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "АБВГДЕЖЅЗИІКЛМНОПРСТꙊФХѠЦЧШЩЪЫЬѢЮꙖѤѦѪѨѬѮѰѲѴ";

assertEquals(string, ALPHABET.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -236,4 +236,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('Z'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "abcdefghijklmnopqrstuvwxyz";

assertEquals(string, ALPHABET.toString());
}
}
22 changes: 22 additions & 0 deletions src/test/java/dev/kalenchukov/alphabet/EnglishAlphabetTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -333,4 +333,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('Ы'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "A,a,B,b,C,c,D,d,E,e,F,f,G,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";

assertEquals(string, ALPHABET.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -236,4 +236,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('x'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

assertEquals(string, ALPHABET.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -233,4 +233,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('Β'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,ς,τ,υ,φ,χ,ψ,ω";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "αβγδεζηθικλμνξοπρσςτυφχψω";

assertEquals(string, ALPHABET.toString());
}
}
22 changes: 22 additions & 0 deletions src/test/java/dev/kalenchukov/alphabet/GreekAlphabetTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -321,4 +321,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('ы'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "Α,α,Β,β,Γ,γ,Δ,δ,Ε,ε,Ζ,ζ,Η,η,Θ,θ,Ι,ι,Κ,κ,Λ,λ,Μ,μ,Ν,ν,Ξ,ξ,Ο,ο,Π,π,Ρ,ρ,Σ,σ,ς,Τ,τ,Υ,υ,Φ,φ,Χ,χ,Ψ,ψ,Ω,ω";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "ΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣσςΤτΥυΦφΧχΨψΩω";

assertEquals(string, ALPHABET.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -255,4 +255,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('β'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "Α,Β,Γ,Δ,Ε,Ζ,Η,Θ,Ι,Κ,Λ,Μ,Ν,Ξ,Ο,Π,Ρ,Σ,Τ,Υ,Φ,Χ,Ψ,Ω";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ";

assertEquals(string, ALPHABET.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -294,4 +294,26 @@ public void testHasLetterBad()
{
assertFalse(ALPHABET.hasLetter('Э'));
}

/**
* Проверяет преобразование алфавита в строку с использованием разделителя.
*/
@Test
public void testToStringSeparator()
{
String string = "а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я";

assertEquals(string, ALPHABET.toString(","));
}

/**
* Проверяет преобразование алфавита в строку.
*/
@Test
public void testToString()
{
String string = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";

assertEquals(string, ALPHABET.toString());
}
}
Loading

0 comments on commit 6f7b372

Please sign in to comment.