The only possible value for cvalue_ is 1 since each stream has its own Cache and it Cache.value == 0 originally and then you increment it right before this check.
Maybe a better test would be to set Cache.value to iID.value() (i.e. the stream index) and then check that within each stream* call the value matches.