Comportamento de List <T> .Sort no .NET 4.5 alterado do .NET 4.0?
Eu tenho o seguinte teste dentro de um projeto que visa o .NET 4.0:
[TestFixture]
public class Donkey
{
[Test]
public void TestListSorting()
{
var expected = new[]
{
MockRepository.GenerateStub<IComparable>(),
MockRepository.GenerateStub<IComparable>()
};
var sorted = new List<IComparable>(expected);
CollectionAssert.AreEqual(expected, sorted);
sorted.Sort();
CollectionAssert.AreEqual(expected, sorted);
}
}
Se eu rodá-lo em uma máquina com apenas o .NET 4.0 instalado, ele falhará. Se eu rodá-lo em uma máquina com apenas o .NET 4.5 instalado, ele passa.
Estou assumindo que no .NET 4.5 a implementação deSort
foi alterado para manter a ordem ao classificar uma lista de objetos que cada retorno0
deCompareTo
.
Agora, deixe de lado a insanidade óbvia desse teste. Eu sei que é loucura confiar nesse tipo de comportamento.
Certamente esta é uma mudança de quebra? Não está listado emesta página sobre compatibilidade entre o .NET 4.0 e 4.5.
Existe uma razão para isso? Estou esquecendo de algo? Existe outra página que mostra mudanças reais de quebra? Eu deveria apenas sentar e parar de entrar em pânico?