< Summary

Line coverage
92%
Covered lines: 12
Uncovered lines: 1
Coverable lines: 13
Total lines: 38
Line coverage: 92.3%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)75%44100%
ThrowMessageTypeOutOfRange()100%110%

File(s)

https://raw.githubusercontent.com/dotnet/runtime/811a7eabb75c42db53440e8ba3f60c07511cfd1f/src/libraries/System.Net.WebSockets/src/System/Net/WebSockets/ValueWebSocketReceiveResult.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System.Diagnostics;
 5
 6namespace System.Net.WebSockets
 7{
 8    /// <summary>Represents the result of performing a single <see cref="WebSocket.ReceiveAsync(Memory{byte}, System.Thr
 9    public readonly struct ValueWebSocketReceiveResult
 10    {
 11        private readonly uint _countAndEndOfMessage;
 12        private readonly WebSocketMessageType _messageType;
 13
 14        /// <summary>Creates an instance of the <see cref="ValueWebSocketReceiveResult"/> value type.</summary>
 15        /// <param name="count">The number of bytes received.</param>
 16        /// <param name="messageType">The type of message that was received.</param>
 17        /// <param name="endOfMessage">Whether this is the final message.</param>
 18        public ValueWebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage)
 33633719        {
 33633720            ArgumentOutOfRangeException.ThrowIfNegative(count);
 33633721            if ((uint)messageType > (uint)WebSocketMessageType.Close) ThrowMessageTypeOutOfRange();
 22
 33633723            _countAndEndOfMessage = (uint)count | (uint)(endOfMessage ? 1 << 31 : 0);
 33633724            _messageType = messageType;
 25
 33633726            Debug.Assert(count == Count);
 33633727            Debug.Assert(messageType == MessageType);
 33633728            Debug.Assert(endOfMessage == EndOfMessage);
 33633729        }
 30
 33633731        public int Count => (int)(_countAndEndOfMessage & 0x7FFFFFFF);
 33633732        public bool EndOfMessage => (_countAndEndOfMessage & 0x80000000) == 0x80000000;
 33633733        public WebSocketMessageType MessageType => _messageType;
 34
 035        private static void ThrowMessageTypeOutOfRange() => throw new ArgumentOutOfRangeException("messageType");
 36    }
 37}
 38