@Test
public void testConverterWithExistingTransaction() throws NotSupportedException, SystemException {
Map<Object, String> values = putValuesInCache();
Cache<Object, String> cache = cache(0, CACHE_NAME);
TransactionManager tm = tm(cache);
tm.begin();
try {
Object key = "converted-key";
String value = "converted-value";
values.put(key, value);
cache.put(key, "converted-value");
try (CacheStream<CacheEntry<Object, String>> stream = cache.getAdvancedCache().cacheEntrySet().stream().
filter(CacheFilters.predicate(AcceptAllKeyValueFilter.getInstance())).
map(CacheFilters.function(new StringTruncator(2, 5)))) {
Map<Object, String> results = mapFromStream(stream);
assertEquals(values.size(), results.size());
for (Map.Entry<Object, String> entry : values.entrySet()) {
assertEquals(entry.getValue().substring(2, 7), results.get(entry.getKey()));
}
}
} finally {
tm.rollback();
}
}