s.getProduct().getAttributes().clear();
List<PoolUpdate> updates = poolRules.updatePools(s, pools);
assertEquals(2, updates.size());
// Regular pool should be in a sane state:
PoolUpdate baseUpdate = updates.get(0);
assertEquals(new Long(10), baseUpdate.getPool().getQuantity());
assertFalse(baseUpdate.getPool().isMarkedForDelete());
// Virt bonus pool should have quantity 0 and be flagged for cleanup:
PoolUpdate virtUpdate = updates.get(1);
assertEquals(new Long(0), virtUpdate.getPool().getQuantity());
assertTrue(virtUpdate.getPool().isMarkedForDelete());
}