Option Strict On
Option Explicit On

Namespace Nexamas.UI.Verification

    ''' <summary>
    ''' Immutable finding emitted by the render-verification coverage graph audit.
    ''' </summary>
    Friend NotInheritable Class MASRenderVerificationCoverageFinding

        Friend Sub New(kind As MASRenderVerificationCoverageFindingKind,
                       identifier As String,
                       summary As String)
            Me.Kind = kind
            Me.Identifier = Normalize(identifier)
            Me.Summary = Normalize(summary)
        End Sub

        Friend ReadOnly Property Kind As MASRenderVerificationCoverageFindingKind
        Friend ReadOnly Property Identifier As String
        Friend ReadOnly Property Summary As String

        Public Overrides Function ToString() As String
            Return Kind.ToString() & ": " & Identifier & " - " & Summary
        End Function

        Private Shared Function Normalize(value As String) As String
            Return If(value, String.Empty).Trim()
        End Function

    End Class

End Namespace
