|  | @@ -523,6 +523,20 @@ namespace Google.Protobuf.Collections
 | 
	
		
			
				|  |  |              keys.CopyTo(array, 1);
 | 
	
		
			
				|  |  |              CollectionAssert.AreEqual(new[] { null, "foo", "x", null }, array);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        // Just test keys - we know the implementation is the same for values
 | 
	
		
			
				|  |  | +        [Test]
 | 
	
		
			
				|  |  | +        public void NonGenericViewCopyTo()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            IDictionary map = new MapField<string, string> { { "foo", "bar" }, { "x", "y" } };
 | 
	
		
			
				|  |  | +            ICollection keys = map.Keys;
 | 
	
		
			
				|  |  | +            // Note the use of the Array type here rather than string[]
 | 
	
		
			
				|  |  | +            Array array = new string[4];
 | 
	
		
			
				|  |  | +            Assert.Throws<ArgumentException>(() => keys.CopyTo(array, 3));
 | 
	
		
			
				|  |  | +            Assert.Throws<ArgumentOutOfRangeException>(() => keys.CopyTo(array, -1));
 | 
	
		
			
				|  |  | +            keys.CopyTo(array, 1);
 | 
	
		
			
				|  |  | +            CollectionAssert.AreEqual(new[] { null, "foo", "x", null }, array);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          [Test]
 | 
	
		
			
				|  |  |          public void KeysContains()
 |