#354 added usergroup for version of feature toggle
This commit is contained in:
parent
0b834128b9
commit
72733acfc6
@ -13,4 +13,12 @@
|
||||
<artifactId>feature-toggle</artifactId>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</project>
|
@ -0,0 +1,7 @@
|
||||
package com.iluwatar.featuretoggle.user;
|
||||
|
||||
/**
|
||||
* Created by joseph on 26/01/16.
|
||||
*/
|
||||
public class User {
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.iluwatar.featuretoggle.user;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by joseph on 26/01/16.
|
||||
*/
|
||||
public class UserGroup {
|
||||
|
||||
private static List<User> freeGroup = new ArrayList<>();
|
||||
private static List<User> paidGroup = new ArrayList<>();
|
||||
|
||||
public static void addUserToFreeGroup(final User user){
|
||||
if(paidGroup.contains(user)){
|
||||
throw new IllegalArgumentException("User all ready member of paid group.");
|
||||
}else{
|
||||
if(!freeGroup.contains(user)){
|
||||
freeGroup.add(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void addUserToPaidGroup(final User user){
|
||||
if(freeGroup.contains(user)){
|
||||
throw new IllegalArgumentException("User all ready member of free group.");
|
||||
}else{
|
||||
if(!paidGroup.contains(user)){
|
||||
paidGroup.add(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isPaid(User user) {
|
||||
return paidGroup.contains(user);
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.iluwatar.featuretoggle.user;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static junit.framework.TestCase.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class UserGroupTest {
|
||||
|
||||
@Test
|
||||
public void testAddUserToFreeGroup() throws Exception {
|
||||
User user = new User();
|
||||
UserGroup.addUserToFreeGroup(user);
|
||||
assertFalse(UserGroup.isPaid(user));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddUserToPaidGroup() throws Exception {
|
||||
User user = new User();
|
||||
UserGroup.addUserToPaidGroup(user);
|
||||
assertTrue(UserGroup.isPaid(user));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testAddUserToPaidWhenOnFree() throws Exception {
|
||||
User user = new User();
|
||||
UserGroup.addUserToFreeGroup(user);
|
||||
UserGroup.addUserToPaidGroup(user);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testAddUserToFreeWhenOnPaid() throws Exception {
|
||||
User user = new User();
|
||||
UserGroup.addUserToPaidGroup(user);
|
||||
UserGroup.addUserToFreeGroup(user);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user