public Collection<String> removeWordsByLength(Collection<String> stringList, Integer wordLength) {
stringList.removeIf(word -> word.length() == wordLength);
return stringList;
}
public Collection<String> removeWordsByLength(Collection<String> stringList, Integer wordLength) {
stringList.removeIf(word -> word.length() == wordLength);
return stringList;
}
@DisplayName("Test of resetWordsByLength(), returns Collection<String> according replaced elements with \ngiven length to '*', assertTrue()")
@Test
void resetWordsByLengthTest1() {
collection = collectionUtil.resetWordsByLength(collection, 2);
boolean expected = collection.equals((new ArrayList<>(Arrays.asList("1", "*", "111", "*"))));
System.out.println(collection);
Assertions.assertTrue(expected);
}
public class Studio {
List<Actor> actors;
public Studio(List<Actor> actors) {
this.actors = actors;
}
public Studio fire(List<Actor> actors) {
Iterator<Actor> iterator = actors.iterator();
Integer highestFee = 0;
for (Actor actor : actors) {
if (actor.getFee() > highestFee) {
highestFee = actor.getFee();
}
}
while (iterator.hasNext()) {
if (Objects.equals(iterator.next().getFee(), highestFee)) {
iterator.remove();
}
}
return new Studio(actors);
}
public List<Actor> getActors() {
return actors;
}
}
public static void printList(Studio studio) {
for (Actor actor : studio.getActors()) {
System.out.println("Actor: " + actor.getFirstName() + " " + actor.getLastName() + ", " + actor.getFee()
+ "$ fee, " + actor.getAge() + " years old");
}
System.out.println();
}
public class StudioTest {
private final Actor dzmitry = new Actor("Dzmitry", "Krasiuk", 850, 29);
private final Actor alexander = new Actor("Alexander", "Braim", 940, 27);
private final Actor elena = new Actor("Elena", "Ankova", 1100, 33);
private final Actor julia = new Actor("Julia", "Serbskaya", 1100, 25);
private final Actor anna = new Actor("Anna", "Krasiuk", 1400, 22);
private final Actor iya = new Actor("Iya", "Krasiuk", 1100, 30);
private Studio sonyVision;
ArrayList<Actor> actorsList;
private Comparator<Actor> comparator;
@BeforeEach
void init() {
actorsList = new ArrayList<>(Arrays.asList(dzmitry, alexander, elena, julia, anna, iya));
sonyVision = new Studio(actorsList);
}
@DisplayName("Test of fire(), returns actors list with removed actor which has highest salary")
@Test
void fireTest() {
sonyVision.fire(sonyVision.getActors());
Studio expected = new Studio(new ArrayList<>(Arrays.asList(dzmitry, alexander, elena, julia, iya)));
Assertions.assertEquals(expected.getActors(), sonyVision.getActors());
}
public class Person {
private final String name;
private final String surname;
private final Integer age;
private final Double averageAnnualMark;
public Person(String name, String surname, Integer age, Double averageAnnualMark) {
this.name = name;
this.surname = surname;
this.age = age;
this.averageAnnualMark = averageAnnualMark;
}
public Person() {
this.name = "Name";
this.surname = "Surname";
this.age = 0;
this.averageAnnualMark = 0.0;
}
public Collection<String> removeWordsByLength(Collection<String> collection, Integer wordLength) {
Collection<String> collectionTwo = new ArrayList<>();
for (String word : collection) {
if (word.length() != wordLength) {
collectionTwo.add(word);
}
}
return collectionTwo;
}
public class StringCollectionUtilTest {
private StringCollectionUtil collectionUtil;
private Collection<String> testCollection;
private Collection<String> expectCollection;
private Collection<String> actualCollection;
@BeforeEach
public void init() {
collectionUtil = new StringCollectionUtil();
testCollection = new ArrayList<>(Arrays.asList("sweet", "dreams", "are", "made", "of", "this", "who", "am", "I", "to", "disagree"));
}
@Test
public void resetWordsByLengthTest1() {
actualCollection = collectionUtil.resetWordsByLength(testCollection, 4);
expectCollection = new ArrayList<>(Arrays.asList("sweet", "dreams", "are", "*", "of", "*", "who", "am", "I", "to", "disagree"));
Assertions.assertEquals(expectCollection, actualCollection);
}
public class PersonAgeComparator implements Comparator<Person> {
@Override
public int compare(Person a, Person b) {
int result = 0;
if (a.getAge() > b.getAge()) {
result = 1;
} else if (a.getAge() < b.getAge()) {
result = -1;
}
return result;
}
}
public class ageComparator implements Comparator<Person> {
@Override
public int compare(Person p1, Person p2) {
if (p1.getAge() == p2.getAge())
return 0;
else if (p1.getAge() > p2.getAge())
return 1;
else
return -1;
}
}
public static List fire(List<Actor> actors) {
int maxFee = 0;
int maxFeeIndex = 0;
for (Actor a : actors) {
if (a.getFee() > maxFee) {
maxFee = a.getFee();
maxFeeIndex = actors.indexOf(a);
}
}
actors.remove(maxFeeIndex);
return actors;
}
@Override
public int compare(Actor a1, Actor a2) {
if (a1.getFee() == a2.getFee())
return 0;
else if (a1.getFee() > a2.getFee())
return 1;
else
return -1;
}
public class Person {
private final String name;
private final String surname;
private final int age;
private final double averageAnnualMark;
/**
* Constructor.
*
* @param name student's name.
* @param surname last name of the student.
* @param age student's age.
* @param averageAnnualMark average student score.
*/
public Person(String name, String surname, int age, double averageAnnualMark) {
this.name = name;
this.surname = surname;
this.age = age;
this.averageAnnualMark = averageAnnualMark;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Person person = (Person) o;
return age == person.age && Double.compare(person.averageAnnualMark, averageAnnualMark)
== 0 && name.equals(person.name) && surname.equals(person.surname);
}
@Override
public int hashCode() {
return Objects.hash(name, surname, age, averageAnnualMark);
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", surname='" + surname + '\'' +
", age=" + age +
", averageAnnualMark=" + averageAnnualMark +
'}';
}
public String getName() {
return name;
}
public String getSurname() {
return surname;
}
public String getFullName() {
return getName() + " " + getSurname();
}
public int getAge() {
return age;
}
public double getAverageAnnualMark() {
return averageAnnualMark;
}
}
@DisplayName("String collection util test.")
class StringCollectionUtilTest {
Collection<String> stringCollection;
@BeforeEach
void init() {
String[] strings = new String[]{"this", "is", "lots", "of", "fun", "for", "every", "Java", "programmer"};
stringCollection = new ArrayList<>(Arrays.asList(strings));
}
@Test
@DisplayName("Reset words by length.")
void resetWordsByLength() {
String[] str1 = new String[]{"*", "is", "*", "of", "fun", "for", "every", "*", "programmer"};
Assertions.assertEquals(new ArrayList<>(Arrays.asList(str1)),
StringCollectionUtil.resetWordsByLength(stringCollection, 4));
}
@Test
@DisplayName("Remove words by length.")
void removeWordsByLength() {
String[] str2 = new String[]{"this", "lots", "fun", "for", "every", "Java", "programmer"};
StringCollectionUtil.removeWordsByLength(stringCollection, 2);
Assertions.assertEquals(new ArrayList<>(Arrays.asList(str2)), stringCollection);
}
}