public void ShouldThrowExceptionWhenSortFieldEmpty() { // arrange var sortFields = new SortField <TestModel> [0]; // act Action act = () => sortFields.Sort(testData); // assert act.Should().Throw <ArgumentException>(); }
public void ShouldReturnSortedDataWhenArraySortFieldsProvided() { // arrange var exptectedData = testData.OrderBy(x => x.IsEven).ThenByDescending(x => x.Name); var sortFields = new SortField <TestModel> [2]; sortFields[0] = new SortField <TestModel> { PropertyName = "IsEven", SortOrder = SortOrder.Ascending }; sortFields[1] = new SortField <TestModel> { PropertyName = "Name", SortOrder = SortOrder.Descending }; // act var result = sortFields.Sort(testData); // assert result.Should().BeEquivalentTo(exptectedData, options => options.WithStrictOrdering()); }