BAEL-6198: junit5 @Nested tests

This commit is contained in:
emanueltrandafir1993
2023-02-04 16:40:35 +01:00
parent ba8f9a6437
commit fecb0722ee
6 changed files with 220 additions and 0 deletions
@@ -0,0 +1,19 @@
package com.baeldung.junit5.nested;
public class Article {
private String name;
private Membership articleLevel;
public Article(String name, Membership articleLevel) {
this.name = name;
this.articleLevel = articleLevel;
}
public String getName() {
return name;
}
public Membership getArticleLevel() {
return articleLevel;
}
}
@@ -0,0 +1,16 @@
package com.baeldung.junit5.nested;
public enum Membership {
FREE(0), SILVER(10), GOLD(20);
private final int level;
Membership(int level) {
this.level = level;
}
public int compare(Membership other) {
return level - other.level;
}
}
@@ -0,0 +1,32 @@
package com.baeldung.junit5.nested;
import java.util.List;
import java.util.stream.Collectors;
public class Publication {
private final List<Article> articles;
public Publication(List<Article> articles) {
this.articles = articles;
}
public List<String> getReadableArticles(User user) {
return articles.stream()
.filter(a -> a.getArticleLevel()
.compare(user.getMembership()) <= 0)
.map(Article::getName)
.collect(Collectors.toList());
}
public List<String> getLockedArticles(User user) {
return articles.stream()
.filter(a -> a.getArticleLevel()
.compare(user.getMembership()) > 0)
.map(Article::getName)
.collect(Collectors.toList());
}
public List<Article> getArticles() {
return articles;
}
}
@@ -0,0 +1,19 @@
package com.baeldung.junit5.nested;
public class User {
private String name;
private Membership membership;
public User(String name, Membership membership) {
this.name = name;
this.membership = membership;
}
public String getName() {
return name;
}
public Membership getMembership() {
return membership;
}
}