mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-19 19:26:36 +00:00
Refactoring changes in Ambassador Pattern (#805)
* 1) Updated test cases to use Junit Assert method as compared to assert keyword 2) Proper testing of RemoteService using RandomProvider interface. Introduced RandomProvider interface so that randomness can be controlled from test cases. 3) For readability used constant for representing FAILURE * Addressing review comments, Deleting unintentional file and used FAILURE constant in ClientTest as well
This commit is contained in:
committed by
Ilkka Seppälä
parent
21a149ee77
commit
9e7a500743
@@ -24,6 +24,8 @@ package com.iluwatar.ambassador;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* Test for {@link Client}
|
||||
*/
|
||||
@@ -35,6 +37,6 @@ public class ClientTest {
|
||||
Client client = new Client();
|
||||
long result = client.useService(10);
|
||||
|
||||
assert result == 100 || result == -1;
|
||||
assertTrue(result == 100 || result == RemoteService.FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,16 +22,43 @@
|
||||
*/
|
||||
package com.iluwatar.ambassador;
|
||||
|
||||
import com.iluwatar.ambassador.util.RandomProvider;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* Test for {@link RemoteService}
|
||||
*/
|
||||
public class RemoteServiceTest {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
long result = RemoteService.getRemoteService().doRemoteFunction(10);
|
||||
assert result == 100 || result == -1;
|
||||
public void testFailedCall() {
|
||||
RemoteService remoteService = new RemoteService(
|
||||
new StaticRandomProvider(0.21));
|
||||
long result = remoteService.doRemoteFunction(10);
|
||||
assertEquals(RemoteServiceInterface.FAILURE, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccessfulCall() {
|
||||
RemoteService remoteService = new RemoteService(
|
||||
new StaticRandomProvider(0.2));
|
||||
long result = remoteService.doRemoteFunction(10);
|
||||
assertEquals(100, result);
|
||||
}
|
||||
|
||||
private class StaticRandomProvider implements RandomProvider {
|
||||
private double value;
|
||||
|
||||
StaticRandomProvider(double value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double random() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ package com.iluwatar.ambassador;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* Test for {@link ServiceAmbassador}
|
||||
*/
|
||||
@@ -32,6 +34,6 @@ public class ServiceAmbassadorTest {
|
||||
@Test
|
||||
public void test() {
|
||||
long result = new ServiceAmbassador().doRemoteFunction(10);
|
||||
assert result == 100 || result == -1;
|
||||
assertTrue(result == 100 || result == RemoteServiceInterface.FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user