use of com.hazelcast.simulator.tests.map.helpers.Employee in project hazelcast-simulator by hazelcast.
the class MapPredicateTest method pagePredicate.
@TimeStep(prob = 0.2)
public void pagePredicate(ThreadState state) {
double maxSalary = state.randomDouble() * Employee.MAX_SALARY;
Predicate predicate = Predicates.lessThan("salary", maxSalary);
SalaryComparator salaryComparator = new SalaryComparator();
PagingPredicate pagingPredicate = new PagingPredicate(predicate, salaryComparator, pageSize);
Collection<Employee> employees;
List<Employee> employeeList;
do {
employees = map.values(pagingPredicate);
employeeList = fillListWithQueryResultSet(employees);
Employee nextEmployee;
Employee currentEmployee;
for (int i = 0; i < employeeList.size() - 1; i++) {
currentEmployee = employeeList.get(i);
nextEmployee = employeeList.get(i + 1);
// check the order & max salary
assertTrue(format(baseAssertMessage, currentEmployee.getSalary(), predicate), currentEmployee.getSalary() <= nextEmployee.getSalary() && nextEmployee.getSalary() < maxSalary);
}
pagingPredicate.nextPage();
} while (!employees.isEmpty());
state.operationCounter.pagePredicateCount++;
}
use of com.hazelcast.simulator.tests.map.helpers.Employee in project hazelcast-simulator by hazelcast.
the class MapPredicateTest method initMap.
private void initMap() {
Streamer<Integer, Employee> streamer = StreamerFactory.getInstance(map);
for (int i = 0; i < keyCount; i++) {
Employee employee = new Employee(i);
streamer.pushEntry(employee.getId(), employee);
}
streamer.await();
}
use of com.hazelcast.simulator.tests.map.helpers.Employee in project hazelcast-simulator by hazelcast.
the class MapPredicateTest method predicateBuilder.
@TimeStep(prob = 0.2)
public void predicateBuilder(ThreadState state) {
long startMs = System.currentTimeMillis();
int age = state.randomInt(Employee.MAX_AGE);
String name = Employee.getRandomName();
// TODO: Still broken because it relies on reflection which is dog slow, so we need an explicit AgeNamePredicate
EntryObject entryObject = new PredicateBuilder().getEntryObject();
Predicate agePredicate = entryObject.get("age").lessThan(age);
Predicate ageNamePredicate = entryObject.get("name").equal(name).and(agePredicate);
Collection<Employee> employees = map.values(ageNamePredicate);
for (Employee emp : employees) {
String assertMessage = format(baseAssertMessage, emp, ageNamePredicate);
assertTrue(assertMessage, emp.getAge() < age);
assertTrue(assertMessage, emp.getName().equals(name));
}
state.operationCounter.predicateBuilderCount++;
updateStats(state, startMs);
}
use of com.hazelcast.simulator.tests.map.helpers.Employee in project hazelcast-simulator by hazelcast.
the class MapReduceTest method modifyMapEntry.
@TimeStep(prob = 0.25)
public void modifyMapEntry(ThreadState state) {
Employee employee = map.get(state.randomInt(keyCount));
employee.randomizeProperties();
map.put(employee.getId(), employee);
state.operationCounter.modifyMapEntry++;
}
use of com.hazelcast.simulator.tests.map.helpers.Employee in project hazelcast-simulator by hazelcast.
the class PagingPredicateTest method globalPrepare.
@Prepare(global = true)
public void globalPrepare() {
if (useIndex) {
map.addIndex("salary", true);
}
Streamer<Integer, Employee> streamer = StreamerFactory.getInstance(map);
for (int i = 0; i < keyCount; i++) {
Employee employee = new Employee(i);
streamer.pushEntry(employee.getId(), employee);
}
streamer.await();
}
Aggregations