#354 Some clean up and show the difference between paid and free a bit more.
This commit is contained in:
parent
a1ede8980f
commit
32f9cf3ab1
@ -2,10 +2,9 @@ package com.iluwatar.featuretoggle.pattern;
|
|||||||
|
|
||||||
import com.iluwatar.featuretoggle.user.User;
|
import com.iluwatar.featuretoggle.user.User;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by joseph on 26/01/16.
|
|
||||||
*/
|
|
||||||
public interface Service {
|
public interface Service {
|
||||||
|
|
||||||
public String getWelcomeMessage(User user);
|
String getWelcomeMessage(User user);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,15 +4,12 @@ import com.iluwatar.featuretoggle.pattern.Service;
|
|||||||
import com.iluwatar.featuretoggle.user.User;
|
import com.iluwatar.featuretoggle.user.User;
|
||||||
import com.iluwatar.featuretoggle.user.UserGroup;
|
import com.iluwatar.featuretoggle.user.UserGroup;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by joseph on 26/01/16.
|
|
||||||
*/
|
|
||||||
public class TieredFeatureToggleVersion implements Service {
|
public class TieredFeatureToggleVersion implements Service {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getWelcomeMessage(User user) {
|
public String getWelcomeMessage(User user) {
|
||||||
if(UserGroup.isPaid(user)){
|
if(UserGroup.isPaid(user)){
|
||||||
return "You're amazing thanks for paying for this awesome software.";
|
return "You're amazing " + user.getName() + ". Thanks for paying for this awesome software.";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "I suppose you can use this software.";
|
return "I suppose you can use this software.";
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
package com.iluwatar.featuretoggle.user;
|
package com.iluwatar.featuretoggle.user;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by joseph on 26/01/16.
|
|
||||||
*/
|
|
||||||
public class User {
|
public class User {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public User(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,6 @@ package com.iluwatar.featuretoggle.user;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by joseph on 26/01/16.
|
|
||||||
*/
|
|
||||||
public class UserGroup {
|
public class UserGroup {
|
||||||
|
|
||||||
private static List<User> freeGroup = new ArrayList<>();
|
private static List<User> freeGroup = new ArrayList<>();
|
||||||
|
@ -8,32 +8,29 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by joseph on 26/01/16.
|
|
||||||
*/
|
|
||||||
public class TieredFeatureToggleVersionTest {
|
public class TieredFeatureToggleVersionTest {
|
||||||
|
|
||||||
User paidUser = new User();
|
final User paidUser = new User("Jamie Coder");
|
||||||
User freeUser = new User();
|
final User freeUser = new User("Alan Defect");
|
||||||
|
final Service service = new TieredFeatureToggleVersion();
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
UserGroup.addUserToPaidGroup(paidUser);
|
UserGroup.addUserToPaidGroup(paidUser);
|
||||||
UserGroup.addUserToFreeGroup(freeUser);
|
UserGroup.addUserToFreeGroup(freeUser);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetWelcomeMessageForPaidUser() throws Exception {
|
public void testGetWelcomeMessageForPaidUser() throws Exception {
|
||||||
Service service = new TieredFeatureToggleVersion();
|
final String welcomeMessage = service.getWelcomeMessage(paidUser);
|
||||||
String welcomeMessage = service.getWelcomeMessage(paidUser);
|
final String expected = "You're amazing Jamie Coder. Thanks for paying for this awesome software.";
|
||||||
assertEquals("You're amazing thanks for paying for this awesome software.",welcomeMessage);
|
assertEquals(expected,welcomeMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetWelcomeMessageForFreeUser() throws Exception {
|
public void testGetWelcomeMessageForFreeUser() throws Exception {
|
||||||
Service service = new TieredFeatureToggleVersion();
|
final String welcomeMessage = service.getWelcomeMessage(freeUser);
|
||||||
String welcomeMessage = service.getWelcomeMessage(freeUser);
|
final String expected = "I suppose you can use this software.";
|
||||||
assertEquals("I suppose you can use this software.",welcomeMessage);
|
assertEquals(expected,welcomeMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,28 +9,28 @@ public class UserGroupTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAddUserToFreeGroup() throws Exception {
|
public void testAddUserToFreeGroup() throws Exception {
|
||||||
User user = new User();
|
User user = new User("Free User");
|
||||||
UserGroup.addUserToFreeGroup(user);
|
UserGroup.addUserToFreeGroup(user);
|
||||||
assertFalse(UserGroup.isPaid(user));
|
assertFalse(UserGroup.isPaid(user));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAddUserToPaidGroup() throws Exception {
|
public void testAddUserToPaidGroup() throws Exception {
|
||||||
User user = new User();
|
User user = new User("Paid User");
|
||||||
UserGroup.addUserToPaidGroup(user);
|
UserGroup.addUserToPaidGroup(user);
|
||||||
assertTrue(UserGroup.isPaid(user));
|
assertTrue(UserGroup.isPaid(user));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = IllegalArgumentException.class)
|
||||||
public void testAddUserToPaidWhenOnFree() throws Exception {
|
public void testAddUserToPaidWhenOnFree() throws Exception {
|
||||||
User user = new User();
|
User user = new User("Paid User");
|
||||||
UserGroup.addUserToFreeGroup(user);
|
UserGroup.addUserToFreeGroup(user);
|
||||||
UserGroup.addUserToPaidGroup(user);
|
UserGroup.addUserToPaidGroup(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = IllegalArgumentException.class)
|
||||||
public void testAddUserToFreeWhenOnPaid() throws Exception {
|
public void testAddUserToFreeWhenOnPaid() throws Exception {
|
||||||
User user = new User();
|
User user = new User("Free User");
|
||||||
UserGroup.addUserToPaidGroup(user);
|
UserGroup.addUserToPaidGroup(user);
|
||||||
UserGroup.addUserToFreeGroup(user);
|
UserGroup.addUserToFreeGroup(user);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user