Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@ -3385,6 +3385,30 @@ public class ArrayTest
}
}
[Test]
public void IEnumerator_Dispose ()
{
IEnumerable<int> e = new int[] { 1 };
var en = e.GetEnumerator ();
Assert.IsTrue (en.MoveNext (), "#1");
Assert.IsFalse (en.MoveNext (), "#2");
en.Dispose ();
Assert.IsFalse (en.MoveNext (), "#3");
}
[Test]
public void IEnumerator_ZeroSize ()
{
IEnumerable<int> e = Array.Empty<int> ();
var en = e.GetEnumerator ();
Assert.IsFalse (en.MoveNext (), "#1");
e = Array.Empty<int> ();
en = e.GetEnumerator ();
Assert.IsFalse (en.MoveNext (), "#2");
}
[Test]
public void ICollection_IsReadOnly() {
ICollection<string> arr = new string [10];
@ -3669,6 +3693,20 @@ public class ArrayTest
Assert.AreEqual (3, c.Counter);
}
[Test]
public void EnumeratorsEquality ()
{
int [] normalBase = new int [0];
IEnumerable<int> specialBase = new int [0];
var firstSpecial = specialBase.GetEnumerator ();
var secondSpecial = specialBase.GetEnumerator ();
var firstNormal = normalBase.GetEnumerator ();
var secondNormal = normalBase.GetEnumerator ();
Assert.IsFalse (object.ReferenceEquals (firstNormal, secondNormal));
Assert.IsTrue (object.ReferenceEquals (firstSpecial, secondSpecial));
}
[Test]
public void JaggedArrayCtor ()