public void AddTest(List <string> keys, KeyedVectorFull <string> vec1, KeyedVectorPartial <string> vec2) { var originalVec = vec1.Clone(); var commonKeys = vec2.Select(x => x.Key).ToHashSet(); vec1.Add(vec2); foreach (var key in keys) { if (commonKeys.Contains(key)) { Assert.Equal(originalVec[key] + vec2[key], vec1[key]); } else { Assert.Equal(originalVec[key], vec1[key]); } } }