// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using Xunit; namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests { public class LibuvTransportOptionsTests { [Fact] public void SetThreadCountUsingProcessorCount() { // Ideally we'd mock Environment.ProcessorCount to test edge cases. var expected = Clamp(Environment.ProcessorCount >> 1, 1, 16); var information = new LibuvTransportOptions(); Assert.Equal(expected, information.ThreadCount); } private static int Clamp(int value, int min, int max) { return value < min ? min : value > max ? max : value; } } }