private void AssertContentsPerStep<K, V>(LeastRecentlyUsedCache<K, V> sut, Func<K, V> valueCreator, K[] keys, K[][] stepValues) { stepValues.Length.Should().Be(keys.Length, "one result is needed per step key"); for(int i=0;i<keys.Length;++i) { sut.GetOrAdd(keys[i], valueCreator); AssertContents(sut, valueCreator, stepValues[i]); } }