< Summary

Information
Class: UIBlazor.Models.TextToken
Assembly: UIBlazor
File(s): /home/runner/work/InvAit/InvAit/UIBlazor/Models/InputToken.cs
Tag: 14_22728831704
Line coverage
0%
Covered lines: 0
Uncovered lines: 3
Coverable lines: 3
Total lines: 41
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Text()100%210%
GetDisplayText()100%210%
GetLlmText()100%210%

File(s)

/home/runner/work/InvAit/InvAit/UIBlazor/Models/InputToken.cs

#LineLine coverage
 1namespace UIBlazor.Models;
 2
 3/// <summary>
 4/// Базовый токен ввода
 5/// </summary>
 6public abstract class InputToken
 7{
 8    public abstract string GetDisplayText();
 9    public abstract string GetLlmText();
 10}
 11
 12/// <summary>
 13/// Текстовый токен
 14/// </summary>
 15public class TextToken : InputToken
 16{
 017    public string Text { get; set; } = string.Empty;
 18
 019    public override string GetDisplayText() => Text;
 020    public override string GetLlmText() => Text;
 21}
 22
 23/// <summary>
 24/// Токен файла
 25/// </summary>
 26public class FileToken : InputToken
 27{
 28    public string FilePath { get; set; } = string.Empty;
 29    public string FileName { get; set; } = string.Empty;
 30    public string? FileContent { get; set; }
 31
 32    public override string GetDisplayText() => $"@{FileName}";
 33
 34    public override string GetLlmText()
 35    {
 36        if (string.IsNullOrEmpty(FileContent))
 37            return $"File: {FilePath}";
 38
 39        return $"File: {FilePath}\n```\n{FileContent}\n```";
 40    }
 41}