Merge pull request #449 from MiguelGL/master
Code and tests for the lombok introduction.
This commit is contained in:
		
						commit
						577beecb2e
					
				
							
								
								
									
										151
									
								
								lombok-intro/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								lombok-intro/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,151 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0"  | ||||||
|  |          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 | ||||||
|  |                              http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  | 
 | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  | 
 | ||||||
|  |     <name>lombok-intro</name> | ||||||
|  | 
 | ||||||
|  |     <groupId>com.baeldung</groupId> | ||||||
|  |     <artifactId>lombok-intro</artifactId> | ||||||
|  |     <version>0.1-SNAPSHOT</version> | ||||||
|  | 
 | ||||||
|  |     <dependencies> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.projectlombok</groupId> | ||||||
|  |             <artifactId>lombok</artifactId> | ||||||
|  |             <!-- Check for the most recent available version: | ||||||
|  |                  https://projectlombok.org/changelog.html --> | ||||||
|  |             <version>${lombok.version}</version> | ||||||
|  |             <scope>provided</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.hibernate.javax.persistence</groupId> | ||||||
|  |             <artifactId>hibernate-jpa-2.1-api</artifactId> | ||||||
|  |             <version>${hibernate-jpa-2.1-api.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- logging --> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.slf4j</groupId> | ||||||
|  |             <artifactId>slf4j-api</artifactId> | ||||||
|  |             <version>${org.slf4j.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>ch.qos.logback</groupId> | ||||||
|  |             <artifactId>logback-core</artifactId> | ||||||
|  |             <version>${logback.version}</version> | ||||||
|  |             <scope>runtime</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- test scoped --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>junit</groupId> | ||||||
|  |             <artifactId>junit</artifactId> | ||||||
|  |             <version>${junit.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |     </dependencies> | ||||||
|  | 
 | ||||||
|  |     <build> | ||||||
|  | 
 | ||||||
|  |         <finalName>lombok-intro</finalName> | ||||||
|  |         <resources> | ||||||
|  |             <resource> | ||||||
|  |                 <directory>src/main/resources</directory> | ||||||
|  |                 <filtering>true</filtering> | ||||||
|  |             </resource> | ||||||
|  |         </resources> | ||||||
|  | 
 | ||||||
|  |         <plugins> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-compiler-plugin</artifactId> | ||||||
|  |                 <version>${maven-compiler-plugin.version}</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <source>${maven.compiler.source}</source> | ||||||
|  |                     <target>${maven.compiler.target}</target> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-surefire-plugin</artifactId> | ||||||
|  |                 <version>${maven-surefire-plugin.version}</version> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.projectlombok</groupId> | ||||||
|  |                 <artifactId>lombok-maven-plugin</artifactId> | ||||||
|  |                 <version>${delombok-maven-plugin.version}</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>delombok</id> | ||||||
|  |                         <phase>generate-sources</phase> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>delombok</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> | ||||||
|  |                             <addOutputDirectory>false</addOutputDirectory> | ||||||
|  |                             <formatPreferences> | ||||||
|  |                                 <javaLangAsFQN>skip</javaLangAsFQN> | ||||||
|  |                             </formatPreferences> | ||||||
|  |                             <verbose>false</verbose> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  | <!-- This is for delomboking also your tests sources. | ||||||
|  |                     <execution> | ||||||
|  |                         <id>test-delombok</id> | ||||||
|  |                         <phase>generate-test-sources</phase> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>testDelombok</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <verbose>false</verbose> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  | --> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |         </plugins> | ||||||
|  | 
 | ||||||
|  |     </build> | ||||||
|  | 
 | ||||||
|  |     <properties> | ||||||
|  |         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||||
|  | 
 | ||||||
|  |         <maven.compiler.source>1.8</maven.compiler.source> | ||||||
|  |         <maven.compiler.target>1.8</maven.compiler.target> | ||||||
|  | 
 | ||||||
|  |         <!-- lombok: https://projectlombok.org/changelog.html --> | ||||||
|  |         <lombok.version>1.16.8</lombok.version> | ||||||
|  | 
 | ||||||
|  |         <!-- various --> | ||||||
|  |         <hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version> | ||||||
|  | 
 | ||||||
|  |         <!-- logging --> | ||||||
|  |         <org.slf4j.version>1.7.13</org.slf4j.version> | ||||||
|  |         <logback.version>1.1.3</logback.version> | ||||||
|  | 
 | ||||||
|  |         <!-- testing --> | ||||||
|  |         <junit.version>4.12</junit.version> | ||||||
|  | 
 | ||||||
|  |         <!-- maven plugins --> | ||||||
|  |         <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version> | ||||||
|  |         <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version> | ||||||
|  | 
 | ||||||
|  |         <!-- delombok maven plugin --> | ||||||
|  |         <delombok-maven-plugin.version>${lombok.version}.0</delombok-maven-plugin.version> | ||||||
|  |     </properties> | ||||||
|  | 
 | ||||||
|  | </project> | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import lombok.Builder; | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.extern.slf4j.Slf4j; | ||||||
|  | 
 | ||||||
|  | @Builder | ||||||
|  | @Slf4j | ||||||
|  | @Getter | ||||||
|  | public class ApiClientConfiguration { | ||||||
|  | 
 | ||||||
|  |     private String host; | ||||||
|  |     private int port; | ||||||
|  |     private boolean useHttps; | ||||||
|  | 
 | ||||||
|  |     private long connectTimeout; | ||||||
|  |     private long readTimeout; | ||||||
|  | 
 | ||||||
|  |     private String username; | ||||||
|  |     private String password; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import lombok.Data; | ||||||
|  | 
 | ||||||
|  | @Data | ||||||
|  | public class ContactInformationSupport implements HasContactInformation { | ||||||
|  | 
 | ||||||
|  |     private String firstName; | ||||||
|  |     private String lastName; | ||||||
|  |     private String phoneNr; | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public String getFullName() { | ||||||
|  |         return getFirstName() + " " + getLastName(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | public interface HasContactInformation { | ||||||
|  | 
 | ||||||
|  |     String getFirstName(); | ||||||
|  |     void setFirstName(String firstName); | ||||||
|  | 
 | ||||||
|  |     String getFullName(); | ||||||
|  | 
 | ||||||
|  |     String getLastName(); | ||||||
|  |     void setLastName(String lastName); | ||||||
|  | 
 | ||||||
|  |     String getPhoneNr(); | ||||||
|  |     void setPhoneNr(String phoneNr); | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,25 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import java.net.URL; | ||||||
|  | import java.time.Duration; | ||||||
|  | import java.time.Instant; | ||||||
|  | 
 | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.NonNull; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import lombok.experimental.Accessors; | ||||||
|  | 
 | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Accessors(fluent = true) @Getter | ||||||
|  | @EqualsAndHashCode(of = {"authToken"}) | ||||||
|  | public class LoginResult { | ||||||
|  | 
 | ||||||
|  |     private final @NonNull Instant loginTs; | ||||||
|  | 
 | ||||||
|  |     private final @NonNull String authToken; | ||||||
|  |     private final @NonNull Duration tokenValidity; | ||||||
|  | 
 | ||||||
|  |     private final @NonNull URL tokenRefreshUrl; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,43 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | import javax.persistence.Entity; | ||||||
|  | import javax.persistence.Id; | ||||||
|  | import javax.persistence.OneToMany; | ||||||
|  | 
 | ||||||
|  | import lombok.AccessLevel; | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
|  | import lombok.Setter; | ||||||
|  | import lombok.ToString; | ||||||
|  | import lombok.experimental.Delegate; | ||||||
|  | 
 | ||||||
|  | @Entity | ||||||
|  | @Getter @Setter @NoArgsConstructor // <--- THIS is it | ||||||
|  | @ToString(exclude = {"events"}) | ||||||
|  | public class User implements Serializable, HasContactInformation { | ||||||
|  | 
 | ||||||
|  |     private @Id @Setter(AccessLevel.PROTECTED) Long id; // will be set when persisting | ||||||
|  | 
 | ||||||
|  |     private String nickname; | ||||||
|  | 
 | ||||||
|  |     // Whichever other User-specific attributes | ||||||
|  | 
 | ||||||
|  |     @Delegate(types = {HasContactInformation.class}) | ||||||
|  |     private final ContactInformationSupport contactInformation = new ContactInformationSupport(); | ||||||
|  | 
 | ||||||
|  |     // User itelf will implement all contact information by delegation | ||||||
|  | 
 | ||||||
|  |     @OneToMany(mappedBy = "user") | ||||||
|  |     private List<UserEvent> events; | ||||||
|  | 
 | ||||||
|  |     public User(String nickname, String firstName, String lastName, String phoneNr) { | ||||||
|  |         this.nickname = nickname; | ||||||
|  |         contactInformation.setFirstName(firstName); | ||||||
|  |         contactInformation.setLastName(lastName); | ||||||
|  |         contactInformation.setPhoneNr(phoneNr); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,29 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import java.io.Serializable; | ||||||
|  | 
 | ||||||
|  | import javax.persistence.Entity; | ||||||
|  | import javax.persistence.Id; | ||||||
|  | import javax.persistence.ManyToOne; | ||||||
|  | 
 | ||||||
|  | import lombok.AccessLevel; | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
|  | import lombok.Setter; | ||||||
|  | 
 | ||||||
|  | @Entity | ||||||
|  | @NoArgsConstructor @Getter @Setter | ||||||
|  | public class UserEvent implements Serializable { | ||||||
|  | 
 | ||||||
|  |     // This class is just for sample purposes. | ||||||
|  | 
 | ||||||
|  |     private @Id @Setter(AccessLevel.PROTECTED) Long id; | ||||||
|  | 
 | ||||||
|  |     @ManyToOne | ||||||
|  |     private User user; | ||||||
|  | 
 | ||||||
|  |     public UserEvent(User user) { | ||||||
|  |         this.user = user; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,43 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import java.lang.reflect.Field; | ||||||
|  | import java.lang.reflect.Modifier; | ||||||
|  | 
 | ||||||
|  | import com.baeldung.lombok.intro.ApiClientConfiguration.ApiClientConfigurationBuilder; | ||||||
|  | import org.junit.Assert; | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | public class ApiClientConfigurationTest { | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedConfiguration_thenCanBeBuiltViaBuilder() { | ||||||
|  |         ApiClientConfiguration config = | ||||||
|  |             new ApiClientConfigurationBuilder() | ||||||
|  |                 .host("api.server.com") | ||||||
|  |                 .port(443) | ||||||
|  |                 .useHttps(true) | ||||||
|  |                 .connectTimeout(15_000L) | ||||||
|  |                 .readTimeout(5_000L) | ||||||
|  |                 .username("myusername") | ||||||
|  |                 .password("secret") | ||||||
|  |             .build(); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals(config.getHost(), "api.server.com"); | ||||||
|  |         Assert.assertEquals(config.getPort(), 443); | ||||||
|  |         Assert.assertEquals(config.isUseHttps(), true); | ||||||
|  |         Assert.assertEquals(config.getConnectTimeout(), 15_000L); | ||||||
|  |         Assert.assertEquals(config.getReadTimeout(), 5_000L); | ||||||
|  |         Assert.assertEquals(config.getUsername(), "myusername"); | ||||||
|  |         Assert.assertEquals(config.getPassword(), "secret"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedConfiguration_thenHasLoggerInstance() throws NoSuchFieldException { | ||||||
|  |         Field loggerInstance = ApiClientConfiguration.class.getDeclaredField("log"); | ||||||
|  |         int modifiers = loggerInstance.getModifiers(); | ||||||
|  |         Assert.assertTrue(Modifier.isPrivate(modifiers)); | ||||||
|  |         Assert.assertTrue(Modifier.isStatic(modifiers)); | ||||||
|  |         Assert.assertTrue(Modifier.isFinal(modifiers)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,59 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import java.net.MalformedURLException; | ||||||
|  | import java.net.URL; | ||||||
|  | import java.time.Duration; | ||||||
|  | import java.time.Instant; | ||||||
|  | 
 | ||||||
|  | import org.junit.Assert; | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | public class LoginResultTest { | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedLoginResult_thenHasConstructorForAllFinalFields() | ||||||
|  |     throws MalformedURLException { | ||||||
|  |         /* LoginResult loginResult = */ new LoginResult( | ||||||
|  |                 Instant.now(), | ||||||
|  |                 "apitoken", | ||||||
|  |                 Duration.ofHours(1), | ||||||
|  |                 new URL("https://api.product.com/token-refresh")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedLoginResult_thenHasFluentGetters() | ||||||
|  |     throws MalformedURLException { | ||||||
|  |         Instant loginTs = Instant.now(); | ||||||
|  |         LoginResult loginResult = new LoginResult( | ||||||
|  |                 loginTs, | ||||||
|  |                 "apitoken", | ||||||
|  |                 Duration.ofHours(1), | ||||||
|  |                 new URL("https://api.product.com/token-refresh")); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals(loginResult.loginTs(), loginTs); | ||||||
|  |         Assert.assertEquals(loginResult.authToken(), "apitoken"); | ||||||
|  |         Assert.assertEquals(loginResult.tokenValidity(), Duration.ofHours(1)); | ||||||
|  |         Assert.assertEquals(loginResult.tokenRefreshUrl(), new URL("https://api.product.com/token-refresh")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedLoginResult_whenSameApiToken_thenEqualInstances() | ||||||
|  |     throws MalformedURLException { | ||||||
|  |         String theSameApiToken = "testapitoken"; | ||||||
|  | 
 | ||||||
|  |         LoginResult loginResult1 = new LoginResult( | ||||||
|  |                 Instant.now(), | ||||||
|  |                 theSameApiToken, | ||||||
|  |                 Duration.ofHours(1), | ||||||
|  |                 new URL("https://api.product.com/token-refresh")); | ||||||
|  | 
 | ||||||
|  |         LoginResult loginResult2 = new LoginResult( | ||||||
|  |                 Instant.now(), | ||||||
|  |                 theSameApiToken, | ||||||
|  |                 Duration.ofHours(2), | ||||||
|  |                 new URL("https://api.product.com/token-refresh-alt")); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals(loginResult1, loginResult2); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | package com.baeldung.lombok.intro; | ||||||
|  | 
 | ||||||
|  | import java.lang.reflect.Method; | ||||||
|  | import java.lang.reflect.Modifier; | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | import org.junit.Assert; | ||||||
|  | import org.junit.Test; | ||||||
|  | 
 | ||||||
|  | public class UserTest { | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedUser_thenHasEmptyConstructor() { | ||||||
|  |         /* User user = */ new User(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedUser_thenHasGettersAndSetters() { | ||||||
|  |         User user = new User("testnickname", "Test", "JUnit", "123456"); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals("testnickname", user.getNickname()); | ||||||
|  |         Assert.assertEquals("Test", user.getFirstName()); | ||||||
|  |         Assert.assertEquals("JUnit", user.getLastName()); | ||||||
|  |         Assert.assertEquals("123456", user.getPhoneNr()); | ||||||
|  | 
 | ||||||
|  |         user.setNickname("testnickname2"); | ||||||
|  |         user.setFirstName("Test2"); | ||||||
|  |         user.setLastName("JUnit2"); | ||||||
|  |         user.setPhoneNr("654321"); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals("testnickname2", user.getNickname()); | ||||||
|  |         Assert.assertEquals("Test2", user.getFirstName()); | ||||||
|  |         Assert.assertEquals("JUnit2", user.getLastName()); | ||||||
|  |         Assert.assertEquals("654321", user.getPhoneNr()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedUser_thenHasProtectedSetId() throws NoSuchMethodException { | ||||||
|  |         Method setIdMethod = User.class.getDeclaredMethod("setId", Long.class); | ||||||
|  |         int modifiers = setIdMethod.getModifiers(); | ||||||
|  |         Assert.assertTrue(Modifier.isProtected(modifiers)); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedUser_thenImplementsHasContactInformation() { | ||||||
|  |         User user = new User("testnickname3", "Test3", "JUnit3", "987654"); | ||||||
|  |         Assert.assertTrue(user instanceof HasContactInformation); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals("Test3", user.getFirstName()); | ||||||
|  |         Assert.assertEquals("JUnit3", user.getLastName()); | ||||||
|  |         Assert.assertEquals("987654", user.getPhoneNr()); | ||||||
|  |         Assert.assertEquals("Test3 JUnit3", user.getFullName()); | ||||||
|  | 
 | ||||||
|  |         user.setFirstName("Test4"); | ||||||
|  |         user.setLastName("JUnit4"); | ||||||
|  |         user.setPhoneNr("456789"); | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals("Test4", user.getFirstName()); | ||||||
|  |         Assert.assertEquals("JUnit4", user.getLastName()); | ||||||
|  |         Assert.assertEquals("456789", user.getPhoneNr()); | ||||||
|  |         Assert.assertEquals("Test4 JUnit4", user.getFullName()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAnnotatedUser_whenHasEvents_thenToStringDumpsNoEvents() { | ||||||
|  |         User user = new User("testnickname", "Test", "JUnit", "123456"); | ||||||
|  |         List<UserEvent> events = Arrays.asList(new UserEvent(user), new UserEvent(user)); | ||||||
|  |         user.setEvents(events); | ||||||
|  |         Assert.assertFalse(user.toString().contains("events")); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user