File: TestData\OrderingCaseConverters.cs
Web Access
Project: src\src\Razor\src\Shared\Microsoft.AspNetCore.Razor.Utilities.Shared.UnitTests\Microsoft.AspNetCore.Razor.Utilities.Shared.UnitTests.csproj (Microsoft.AspNetCore.Razor.Utilities.Shared.UnitTests)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Collections.Generic;
using System.Collections.Immutable;
 
namespace Microsoft.AspNetCore.Razor.Utilities.Shared.Test.TestData;
 
public interface IOrderingCaseConverter<TOrderCollection, TOrderByCollection>
    where TOrderCollection : IEnumerable<int>
    where TOrderByCollection : IEnumerable<ValueHolder<int>>
{
    TOrderCollection ConvertOrderCase(ImmutableArray<int> data);
    TOrderByCollection ConvertOrderByCase(ImmutableArray<ValueHolder<int>> data);
}
 
public static class OrderingCaseConverters
{
    public sealed class Enumerable : IOrderingCaseConverter<IEnumerable<int>, IEnumerable<ValueHolder<int>>>
    {
        public IEnumerable<int> ConvertOrderCase(ImmutableArray<int> data) => data;
        public IEnumerable<ValueHolder<int>> ConvertOrderByCase(ImmutableArray<ValueHolder<int>> data) => data;
    }
 
    public sealed class ImmutableArray : IOrderingCaseConverter<ImmutableArray<int>, ImmutableArray<ValueHolder<int>>>
    {
        public ImmutableArray<int> ConvertOrderCase(ImmutableArray<int> data) => data;
        public ImmutableArray<ValueHolder<int>> ConvertOrderByCase(ImmutableArray<ValueHolder<int>> data) => data;
    }
 
    public sealed class ReadOnlyList : IOrderingCaseConverter<IReadOnlyList<int>, IReadOnlyList<ValueHolder<int>>>
    {
        public IReadOnlyList<int> ConvertOrderCase(ImmutableArray<int> data) => data;
        public IReadOnlyList<ValueHolder<int>> ConvertOrderByCase(ImmutableArray<ValueHolder<int>> data) => data;
    }
}