public void SortLargeListOfScalarsExpectedLessThan100Milliseconds()
{
//Initialize
Setup();
for(var i = 5000; i > 0; i--)
{
_dataListViewModel.ScalarCollection.Add(DataListItemModelFactory.CreateDataListModel("testVar" + i.ToString(CultureInfo.InvariantCulture).PadLeft(4, '0')));
}
var timeBefore = DateTime.Now;
//Execute
_dataListViewModel.SortCommand.Execute(null);
TimeSpan endTime = DateTime.Now.Subtract(timeBefore);
//Assert
Assert.AreEqual("Country", _dataListViewModel.ScalarCollection[0].DisplayName, "Sort datalist with large list failed");
Assert.AreEqual("testVar1000", _dataListViewModel.ScalarCollection[1000].DisplayName, "Sort datalist with large list failed");
Assert.AreEqual("testVar3000", _dataListViewModel.ScalarCollection[3000].DisplayName, "Sort datalist with large list failed");
Assert.AreEqual("testVar5000", _dataListViewModel.ScalarCollection[5000].DisplayName, "Sort datalist with large list failed");
Assert.IsTrue(endTime < TimeSpan.FromMilliseconds(500), string.Format("Sort datalist took longer than 500 milliseconds to sort 5000 variables. Took {0}", endTime));
SortCleanup();
}