diff --git a/exercises/practice/gigasecond/src/test/java/GigasecondTest.java b/exercises/practice/gigasecond/src/test/java/GigasecondTest.java index 6b190f606..2f5872fdd 100644 --- a/exercises/practice/gigasecond/src/test/java/GigasecondTest.java +++ b/exercises/practice/gigasecond/src/test/java/GigasecondTest.java @@ -1,4 +1,5 @@ import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.time.LocalDate; @@ -10,6 +11,7 @@ public class GigasecondTest { @Test + @DisplayName("date only specification of time") public void modernTime() { Gigasecond gigaSecond = new Gigasecond(LocalDate.of(2011, Month.APRIL, 25)); @@ -18,6 +20,7 @@ public void modernTime() { @Disabled("Remove to run test") @Test + @DisplayName("second test for date only specification of time") public void afterEpochTime() { Gigasecond gigaSecond = new Gigasecond(LocalDate.of(1977, Month.JUNE, 13)); @@ -26,6 +29,7 @@ public void afterEpochTime() { @Disabled("Remove to run test") @Test + @DisplayName("third test for date only specification of time") public void beforeEpochTime() { Gigasecond gigaSecond = new Gigasecond(LocalDate.of(1959, Month.JULY, 19)); @@ -34,6 +38,7 @@ public void beforeEpochTime() { @Disabled("Remove to run test") @Test + @DisplayName("full time specified") public void withFullTimeSpecified() { Gigasecond gigaSecond = new Gigasecond(LocalDateTime.of(2015, Month.JANUARY, 24, 22, 0, 0)); @@ -42,6 +47,7 @@ public void withFullTimeSpecified() { @Disabled("Remove to run test") @Test + @DisplayName("full time with day roll-over") public void withFullTimeSpecifiedAndDayRollover() { Gigasecond gigaSecond = new Gigasecond(LocalDateTime.of(2015, Month.JANUARY, 24, 23, 59, 59)); @@ -50,6 +56,7 @@ public void withFullTimeSpecifiedAndDayRollover() { @Disabled("Remove to run test") @Test + @DisplayName("does not mutate the input") public void doesNotMutateInput() { LocalDateTime input = LocalDateTime.of(2015, Month.JANUARY, 24, 23, 59, 59); new Gigasecond(input).getDateTime(); diff --git a/exercises/practice/go-counting/src/test/java/GoCountingTest.java b/exercises/practice/go-counting/src/test/java/GoCountingTest.java index 48e14dc78..2b336088c 100644 --- a/exercises/practice/go-counting/src/test/java/GoCountingTest.java +++ b/exercises/practice/go-counting/src/test/java/GoCountingTest.java @@ -1,4 +1,5 @@ import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.awt.*; @@ -18,6 +19,7 @@ public class GoCountingTest { " W "; @Test + @DisplayName("Black corner territory on 5x5 board") public void blackCorner5x5BoardTest() { GoCounting gocounting = new GoCounting(board5x5); @@ -32,6 +34,7 @@ public void blackCorner5x5BoardTest() { @Disabled("Remove to run test") @Test + @DisplayName("White center territory on 5x5 board") public void whiteCenter5x5BoardTest() { GoCounting gocounting = new GoCounting(board5x5); @@ -44,6 +47,7 @@ public void whiteCenter5x5BoardTest() { @Disabled("Remove to run test") @Test + @DisplayName("Open corner territory on 5x5 board") public void openCorner5x5BoardTest() { GoCounting gocounting = new GoCounting(board5x5); @@ -58,6 +62,7 @@ public void openCorner5x5BoardTest() { @Disabled("Remove to run test") @Test + @DisplayName("A stone and not a territory on 5x5 board") public void stoneNotTerritory5x5Board() { GoCounting gocounting = new GoCounting(board5x5); @@ -69,6 +74,7 @@ public void stoneNotTerritory5x5Board() { @Disabled("Remove to run test") @Test + @DisplayName("Invalid because X is too low for 5x5 board") public void invalidXTooLow5x5Board() { GoCounting gocounting = new GoCounting(board5x5); @@ -79,6 +85,7 @@ public void invalidXTooLow5x5Board() { @Disabled("Remove to run test") @Test + @DisplayName("Invalid because X is too high for 5x5 board") public void invalidXTooHigh5x5Board() { GoCounting gocounting = new GoCounting(board5x5); @@ -89,6 +96,7 @@ public void invalidXTooHigh5x5Board() { @Disabled("Remove to run test") @Test + @DisplayName("Invalid because Y is too low for 5x5 board") public void invalidYTooLow5x5Board() { GoCounting gocounting = new GoCounting(board5x5); @@ -99,6 +107,7 @@ public void invalidYTooLow5x5Board() { @Disabled("Remove to run test") @Test + @DisplayName("Invalid because Y is too high for 5x5 board") public void invalidYTooHigh5x5Board() { GoCounting gocounting = new GoCounting(board5x5); @@ -109,6 +118,7 @@ public void invalidYTooHigh5x5Board() { @Disabled("Remove to run test") @Test + @DisplayName("One territory is the whole board") public void oneTerritoryIsWholeBoardTest() { GoCounting gocounting = new GoCounting(" "); @@ -127,6 +137,7 @@ public void oneTerritoryIsWholeBoardTest() { @Disabled("Remove to run test") @Test + @DisplayName("Two territory rectangular board") public void twoTerritoryRectangularBoardTest() { GoCounting gocounting = new GoCounting(" BW \n BW "); @@ -150,6 +161,7 @@ public void twoTerritoryRectangularBoardTest() { @Disabled("Remove to run test") @Test + @DisplayName("Two region rectangular board") public void twoRegionRectangularBoardTest() { GoCounting gocounting = new GoCounting(" B "); diff --git a/exercises/practice/grade-school/src/test/java/SchoolTest.java b/exercises/practice/grade-school/src/test/java/SchoolTest.java index 6363b8bd8..10a7fd728 100644 --- a/exercises/practice/grade-school/src/test/java/SchoolTest.java +++ b/exercises/practice/grade-school/src/test/java/SchoolTest.java @@ -1,5 +1,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -13,18 +14,21 @@ public void setUp() { } @Test + @DisplayName("Roster is empty when no student is added") public void rosterReturnsAnEmptyListIfThereAreNoStudentsEnrolled() { assertThat(school.roster()).isEmpty(); } @Disabled("Remove to run test") @Test + @DisplayName("Add a student") public void addAStudent() { assertThat(school.add("Aimee", 2)).isTrue(); } @Disabled("Remove to run test") @Test + @DisplayName("Student is added to the roster") public void addingAStudentAddsThemToTheSortedRoster() { school.add("Aimee", 2); @@ -33,6 +37,7 @@ public void addingAStudentAddsThemToTheSortedRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Adding multiple students in the same grade in the roster") public void addingMultipleStudentsInTheSameGrade() { assertThat(school.add("Blair", 2)).isTrue(); assertThat(school.add("James", 2)).isTrue(); @@ -41,6 +46,7 @@ public void addingMultipleStudentsInTheSameGrade() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple students in the same grade are added to the roster") public void addingMoreStudentsAddsThemToTheSameSortedRoster() { school.add("Blair", 2); school.add("James", 2); @@ -51,6 +57,7 @@ public void addingMoreStudentsAddsThemToTheSameSortedRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Cannot add student to same grade in the roster more than once") public void cannotAddStudentsToSameGradeInTheRosterMoreThanOnce() { assertThat(school.add("Blair", 2)).isTrue(); assertThat(school.add("James", 2)).isTrue(); @@ -60,6 +67,7 @@ public void cannotAddStudentsToSameGradeInTheRosterMoreThanOnce() { @Disabled("Remove to run test") @Test + @DisplayName("Student not added to same grade in the roster more than once") public void studentNotAddedToSameGradeInTheRosterMoreThanOnce() { school.add("Blair", 2); school.add("James", 2); @@ -71,6 +79,7 @@ public void studentNotAddedToSameGradeInTheRosterMoreThanOnce() { @Disabled("Remove to run test") @Test + @DisplayName("Adding students in multiple grades") public void addingStudentsInMultipleGrades() { assertThat(school.add("Chelsea", 3)).isTrue(); assertThat(school.add("Logan", 7)).isTrue(); @@ -78,6 +87,7 @@ public void addingStudentsInMultipleGrades() { @Disabled("Remove to run test") @Test + @DisplayName("Students in multiple grades are added to the roster") public void addingStudentsToDifferentGradesAddsThemToTheSameSortedRoster() { school.add("Chelsea", 3); school.add("Logan", 7); @@ -87,6 +97,7 @@ public void addingStudentsToDifferentGradesAddsThemToTheSameSortedRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Cannot add same student to multiple grades in the roster") public void cannotAddSameStudentToMultipleGradesInTheRoster() { assertThat(school.add("Blair", 2)).isTrue(); assertThat(school.add("James", 2)).isTrue(); @@ -96,6 +107,7 @@ public void cannotAddSameStudentToMultipleGradesInTheRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Student not added to multiple grades in the roster") public void studentNotAddedToMultipleGradesInTheRoster() { school.add("Blair", 2); school.add("James", 2); @@ -107,6 +119,7 @@ public void studentNotAddedToMultipleGradesInTheRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Students are sorted by grades in the roster") public void studentsAreSortedByGradeInTheRoster() { school.add("Jim", 3); school.add("Peter", 2); @@ -117,6 +130,7 @@ public void studentsAreSortedByGradeInTheRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Students are sorted by name in the roster") public void studentsAreSortedByNameInTheRoster() { school.add("Peter", 2); school.add("Zoe", 2); @@ -127,6 +141,7 @@ public void studentsAreSortedByNameInTheRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Students are sorted by grades and then by name in the roster") public void studentsAreSortedByGradeAndThenByNameInTheRoster() { school.add("Peter", 2); school.add("Anna", 1); @@ -141,12 +156,14 @@ public void studentsAreSortedByGradeAndThenByNameInTheRoster() { @Disabled("Remove to run test") @Test + @DisplayName("Grade is empty if no students in the roster") public void gradeIsEmptyIfNoStudentsInTheRoster() { assertThat(school.grade(1)).isEmpty(); } @Disabled("Remove to run test") @Test + @DisplayName("Grade is empty if no students in that grade") public void gradeIsEmptyIfNoStudentsInThatGrade() { school.add("Peter", 2); school.add("Zoe", 2); @@ -158,6 +175,7 @@ public void gradeIsEmptyIfNoStudentsInThatGrade() { @Disabled("Remove to run test") @Test + @DisplayName("Student not added to same grade more than once") public void studentNotAddedToTheSameGradeMoreThanOnce() { school.add("Blair", 2); school.add("James", 2); @@ -169,6 +187,7 @@ public void studentNotAddedToTheSameGradeMoreThanOnce() { @Disabled("Remove to run test") @Test + @DisplayName("Student not added to multiple grades") public void studentNotAddedToMultipleGrades() { school.add("Blair", 2); school.add("James", 2); @@ -181,6 +200,7 @@ public void studentNotAddedToMultipleGrades() { @Disabled("Remove to run test") @Test + @DisplayName("Students are sorted by name in a grade") public void studentsAreSortedByNameInAGrade() { school.add("Franklin", 5); school.add("Bradley", 5); diff --git a/exercises/practice/grains/src/test/java/GrainsTest.java b/exercises/practice/grains/src/test/java/GrainsTest.java index 2b5a47689..a09e48e88 100644 --- a/exercises/practice/grains/src/test/java/GrainsTest.java +++ b/exercises/practice/grains/src/test/java/GrainsTest.java @@ -1,4 +1,5 @@ import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.math.BigInteger; @@ -11,6 +12,7 @@ public class GrainsTest { private Grains grains = new Grains(); @Test + @DisplayName("returns the number of grains on the square") public void countAtSquare1() { BigInteger result = grains.grainsOnSquare(1); assertThat(result).isEqualTo(new BigInteger("1")); @@ -18,6 +20,7 @@ public void countAtSquare1() { @Disabled("Remove to run test") @Test + @DisplayName("grains on square 2") public void countAtSquare2() { BigInteger result = grains.grainsOnSquare(2); assertThat(result).isEqualTo(new BigInteger("2")); @@ -25,6 +28,7 @@ public void countAtSquare2() { @Disabled("Remove to run test") @Test + @DisplayName("grains on square 3") public void countAtSquare3() { BigInteger result = grains.grainsOnSquare(3); assertThat(result).isEqualTo(new BigInteger("4")); @@ -32,6 +36,7 @@ public void countAtSquare3() { @Disabled("Remove to run test") @Test + @DisplayName("grains on square 4") public void countAtSquare4() { BigInteger result = grains.grainsOnSquare(4); assertThat(result).isEqualTo(new BigInteger("8")); @@ -39,6 +44,7 @@ public void countAtSquare4() { @Disabled("Remove to run test") @Test + @DisplayName("grains on square 16") public void countAtSquare16() { BigInteger result = grains.grainsOnSquare(16); assertThat(result).isEqualTo(new BigInteger("32768")); @@ -46,6 +52,7 @@ public void countAtSquare16() { @Disabled("Remove to run test") @Test + @DisplayName("grains on square 32") public void countAtSquare32() { BigInteger result = grains.grainsOnSquare(32); assertThat(result).isEqualTo(new BigInteger("2147483648")); @@ -53,6 +60,7 @@ public void countAtSquare32() { @Disabled("Remove to run test") @Test + @DisplayName("grains on square 64") public void countAtSquare64() { BigInteger result = grains.grainsOnSquare(64); assertThat(result).isEqualTo(new BigInteger("9223372036854775808")); @@ -60,6 +68,7 @@ public void countAtSquare64() { @Disabled("Remove to run test") @Test + @DisplayName("square 0 is invalid") public void errorOnNullBoardSize() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> grains.grainsOnSquare(0)) @@ -68,6 +77,7 @@ public void errorOnNullBoardSize() { @Disabled("Remove to run test") @Test + @DisplayName("negative square is invalid") public void errorOnNegativeBoardSize() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> grains.grainsOnSquare(-1)) @@ -76,6 +86,7 @@ public void errorOnNegativeBoardSize() { @Disabled("Remove to run test") @Test + @DisplayName("square greater than 64 is invalid") public void errorOnExcessiveBoardSize() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> grains.grainsOnSquare(65)) @@ -84,6 +95,7 @@ public void errorOnExcessiveBoardSize() { @Disabled("Remove to run test") @Test + @DisplayName("returns the total number of grains on the board") public void totalNumberOfGrainsOnABoard() { BigInteger total = grains.grainsOnBoard(); assertThat(total).isEqualTo(new BigInteger("18446744073709551615")); diff --git a/exercises/practice/grep/src/test/java/GrepToolTest.java b/exercises/practice/grep/src/test/java/GrepToolTest.java index 54c194ca2..d6d27816d 100644 --- a/exercises/practice/grep/src/test/java/GrepToolTest.java +++ b/exercises/practice/grep/src/test/java/GrepToolTest.java @@ -1,6 +1,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -66,6 +67,7 @@ public void tearDown() throws IOException { } @Test + @DisplayName("One file, one match, no flags") public void oneFileOneMatchNoFlags() { String expected = "Of Atreus, Agamemnon, King of men."; @@ -80,6 +82,7 @@ public void oneFileOneMatchNoFlags() { @Disabled("Remove to run test") @Test + @DisplayName("One file, one match, print line numbers flag") public void oneFileOneMatchPrintLineNumbersFlag() { String expected = "2:Of that Forbidden Tree, whose mortal tast"; @@ -94,6 +97,7 @@ public void oneFileOneMatchPrintLineNumbersFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, one match, case-insensitive flag") public void oneFileOneMatchCaseInsensitiveFlag() { String expected = "Of that Forbidden Tree, whose mortal tast"; @@ -108,6 +112,7 @@ public void oneFileOneMatchCaseInsensitiveFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, one match, print file names flag") public void oneFileOneMatchPrintFileNamesFlag() { String expected = "paradise-lost.txt"; @@ -122,6 +127,7 @@ public void oneFileOneMatchPrintFileNamesFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, one match, match entire lines flag") public void oneFileOneMatchEntireLinesFlag() { String expected = "With loss of Eden, till one greater Man"; @@ -136,6 +142,7 @@ public void oneFileOneMatchEntireLinesFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, one match, multiple flags") public void oneFileOneMatchMultipleFlags() { String expected = "9:Of Atreus, Agamemnon, King of men."; @@ -150,6 +157,7 @@ public void oneFileOneMatchMultipleFlags() { @Disabled("Remove to run test") @Test + @DisplayName("One file, several matches, no flags") public void oneFileSeveralMatchesNoFlags() { String expected = "Nor how it may concern my modesty,\n" + "But I beseech your grace that I may know\n" @@ -166,6 +174,7 @@ public void oneFileSeveralMatchesNoFlags() { @Disabled("Remove to run test") @Test + @DisplayName("One file, several matches, print line numbers flag") public void oneFileSeveralMatchesPrintLineNumbersFlag() { String expected = "3:Nor how it may concern my modesty,\n" + "5:But I beseech your grace that I may know\n" @@ -182,6 +191,7 @@ public void oneFileSeveralMatchesPrintLineNumbersFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, several matches, match entire lines flag") public void oneFileSeveralMatchesMatchEntireLineFlag() { String expected = ""; @@ -196,6 +206,7 @@ public void oneFileSeveralMatchesMatchEntireLineFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, several matches, case-insensitive flag") public void oneFileSeveralMatchesCaseInsensitiveFlag() { String expected = "Achilles sing, O Goddess! Peleus' son;\n" + "The noble Chief Achilles from the son"; @@ -211,6 +222,7 @@ public void oneFileSeveralMatchesCaseInsensitiveFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, several matches, inverted flag") public void oneFileSeveralMatchesInvertedFlag() { String expected = "Brought Death into the World, and all our woe,\n" + "With loss of Eden, till one greater Man\n" @@ -229,6 +241,7 @@ public void oneFileSeveralMatchesInvertedFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, no matches, various flags") public void oneFileNoMatchesVariousFlags() { String expected = ""; @@ -243,6 +256,7 @@ public void oneFileNoMatchesVariousFlags() { @Disabled("Remove to run test") @Test + @DisplayName("One file, one match, file flag takes precedence over line flag") public void oneFileOneMatchFileFlagTakesPrecedenceOverLineFlag() { String expected = "iliad.txt"; @@ -257,6 +271,7 @@ public void oneFileOneMatchFileFlagTakesPrecedenceOverLineFlag() { @Disabled("Remove to run test") @Test + @DisplayName("One file, several matches, inverted and match entire lines flags") public void oneFileSeveralMatchesInvertedAndMatchEntireLinesFlags() { String expected = "Achilles sing, O Goddess! Peleus' son;\n" + "His wrath pernicious, who ten thousand woes\n" @@ -278,6 +293,7 @@ public void oneFileSeveralMatchesInvertedAndMatchEntireLinesFlags() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, one match, no flags") public void multipleFilesOneMatchNoFlags() { String expected = "iliad.txt:Of Atreus, Agamemnon, King of men."; @@ -292,6 +308,7 @@ public void multipleFilesOneMatchNoFlags() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, several matches, no flags") public void multipleFilesSeveralMatchesNoFlags() { String expected = "midsummer-night.txt:Nor how it may concern my modesty,\n" + "midsummer-night.txt:But I beseech your grace that I may know\n" @@ -308,6 +325,7 @@ public void multipleFilesSeveralMatchesNoFlags() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, several matches, print line numbers flag") public void multipleFilesSeveralMatchesPrintLineNumbersFlag() { String expected = "midsummer-night.txt:5:But I beseech your grace that I may know\n" + "midsummer-night.txt:6:The worst that may befall me in this case,\n" @@ -325,6 +343,7 @@ public void multipleFilesSeveralMatchesPrintLineNumbersFlag() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, one match, print file names flag") public void multipleFilesOneMatchPrintFileNamesFlag() { String expected = "iliad.txt\n" + "paradise-lost.txt"; @@ -340,6 +359,7 @@ public void multipleFilesOneMatchPrintFileNamesFlag() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, several matches, case-insensitive flag") public void multipleFilesSeveralMatchesCaseInsensitiveFlag() { String expected = "iliad.txt:Caused to Achaia's host, sent many a soul\n" + "iliad.txt:Illustrious into Ades premature,\n" @@ -363,6 +383,7 @@ public void multipleFilesSeveralMatchesCaseInsensitiveFlag() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, several matches, inverted flag") public void multipleFilesSeveralMatchesInvertedFlag() { String expected = "iliad.txt:Achilles sing, O Goddess! Peleus' son;\n" + "iliad.txt:The noble Chief Achilles from the son\n" @@ -379,6 +400,7 @@ public void multipleFilesSeveralMatchesInvertedFlag() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, one match, match entire lines flag") public void multipleFilesOneMatchEntireLinesFlag() { String expected = "midsummer-night.txt:But I beseech your grace that I may know"; @@ -393,6 +415,7 @@ public void multipleFilesOneMatchEntireLinesFlag() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, one match, multiple flags") public void multipleFilesOneMatchMultipleFlags() { String expected = "paradise-lost.txt:4:With loss of Eden, till one greater Man"; @@ -407,6 +430,7 @@ public void multipleFilesOneMatchMultipleFlags() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, no matches, various flags") public void multipleFilesNoMatchesVariousFlags() { String expected = ""; @@ -421,6 +445,7 @@ public void multipleFilesNoMatchesVariousFlags() { @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, several matches, file flag takes precedence over line number flag") public void multipleFilesSeveralMatchesFileFlagTakesPrecedenceOverLineNumberFlag() { String expected = "iliad.txt\n" + "paradise-lost.txt"; @@ -436,6 +461,7 @@ public void multipleFilesSeveralMatchesFileFlagTakesPrecedenceOverLineNumberFlag @Disabled("Remove to run test") @Test + @DisplayName("Multiple files, several matches, inverted and match entire lines flags") public void multipleFilesSeveralMatchesInvertedAndMatchEntireLinesFlags() { String expected = "iliad.txt:Achilles sing, O Goddess! Peleus' son;\n" + "iliad.txt:His wrath pernicious, who ten thousand woes\n"