< Summary

Information
Class: ZeroC.Slice.UuidSliceEncoderExtensions
Assembly: ZeroC.Slice
File(s): /home/runner/work/icerpc-csharp/icerpc-csharp/src/ZeroC.Slice/UuidSliceEncoderExtensions.cs
Tag: 275_13775359185
Line coverage
75%
Covered lines: 6
Uncovered lines: 2
Coverable lines: 8
Total lines: 25
Line coverage: 75%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage
100%
Covered methods: 1
Total methods: 1
Method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
EncodeUuid(...)50%2.06275%

File(s)

/home/runner/work/icerpc-csharp/icerpc-csharp/src/ZeroC.Slice/UuidSliceEncoderExtensions.cs

#LineLine coverage
 1// Copyright (c) ZeroC, Inc.
 2
 3using System.Buffers;
 4
 5namespace ZeroC.Slice;
 6
 7/// <summary>Provides an extension method for <see cref="SliceEncoder" /> to encode a <see cref="Guid" /> as a
 8/// <c>WellKnownTypes::Uuid</c>.</summary>
 9public static class UuidSliceEncoderExtensions
 10{
 11    /// <summary>Encodes a <see cref="Guid" /> as a <c>WellKnownTypes::Uuid</c>.</summary>
 12    /// <param name="encoder">The Slice encoder.</param>
 13    /// <param name="value">The value to encode.</param>
 14    public static void EncodeUuid(this ref SliceEncoder encoder, Guid value)
 615    {
 616        using IMemoryOwner<byte> owner = MemoryPool<byte>.Shared.Rent(16);
 617        Span<byte> span = owner.Memory.Span[..16];
 618        if (!value.TryWriteBytes(span))
 019        {
 020            throw new InvalidOperationException($"Failed to encode UUID '{value}'.");
 21        }
 22
 623        encoder.WriteByteSpan(span);
 1224    }
 25}