BAEL-1466 Updated the Integration Tests.

This commit is contained in:
Sandip Singh 2018-09-03 22:44:11 +05:30
parent b6816bdcdd
commit eafbe5d88a
2 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,39 @@
package com.baeldung.geode.functions;
import com.baeldung.geode.Customer;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionContext;
import org.apache.geode.cache.execute.RegionFunctionContext;
import java.util.Comparator;
import java.util.Map;
import java.util.Optional;
public class CustomerWithMaxAge implements Function<Customer> {
public static final String ID = CustomerWithMaxAge.class.getSimpleName();
private static final long serialVersionUID = -6023734758827953742L;
@Override
public void execute(FunctionContext<Customer> context) {
RegionFunctionContext regionContext = (RegionFunctionContext) context;
Region<Integer, Customer> region = regionContext.getDataSet();
Comparator<Customer> ageComparator = Comparator.comparing(Customer::getAge);
Optional<Customer> customer = region.entrySet()
.stream()
.map(Map.Entry::getValue)
.max(ageComparator);
customer.ifPresent(c -> context.getResultSender()
.lastResult(c));
}
@Override
public String getId() {
return ID;
}
}

View File

@ -1,5 +1,6 @@
package com.baeldung.geode;
import com.baeldung.geode.functions.CustomerWithMaxAge;
import com.baeldung.geode.functions.PrimeNumber;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.client.ClientCache;
@ -138,6 +139,19 @@ public class GeodeSamplesIntegrationTest {
}
@Test
public void whenExecuteFindEldestCustomerFunction_thenReturnTheEldestCustomer() {
Execution execution = FunctionService.onRegion(this.queryRegion);
ResultCollector<Customer, Customer> result = execution.execute(CustomerWithMaxAge.ID);
List<Customer> resultList = (List<Customer>) result.getResult();
assertNotNull(resultList);
assertEquals(1, resultList.size());
Customer customer = resultList.get(0);
assertEquals(Integer.valueOf(46), customer.getAge());
}
@Test
public void whenExecutePrimeNumberFunction_thenReturnOnlyPrimeNumbers() {