< Summary

Information
Class: Utility.Components.Binary.Binary
Assembly: Utility
File(s): /home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/Binary/Binary.razor
Tag: 231_14069517506
Line coverage
0%
Covered lines: 0
Uncovered lines: 23
Coverable lines: 23
Total lines: 66
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%210%
Swap()100%210%
Clear()100%210%
Copy()100%210%
GetBytesFromBinaryString(...)0%620%

File(s)

/home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/Binary/Binary.razor

#LineLine coverage
 1@using System.Text
 2@inject IJSRuntime JSRuntime
 3
 4<div class="container">
 5    <div class="row">
 6        <div class="col">
 7            <textarea id="binary" class="form-control" rows="5" @bind="Input"></textarea>
 8        </div>
 9    </div>
 10
 11    <div class="row">
 12        <div class="col">
 13            <button id="btnBinary" name="btnBinary" class="btn btn-success float-right" @onclick="Swap">Swap</button>
 14            <button id="btnBinaryClear" name="btnBinaryClear" class="btn btn-danger float-right" @onclick="Clear"><i cla
 15        </div>
 16    </div>
 17    <div class="row">
 18        <div class="col">
 19            <textarea id="outputBinary" class="form-control" @bind="Output"></textarea>
 20        </div>
 21    </div>
 22    <div class="row">
 23        <div class="col">
 24            <button id="btnCopyBinary" name="btnCopyBinary" class="btn btn-info float-right" @onclick="Copy"><i class="f
 25        </div>
 26    </div>
 27
 28</div>
 29
 30@code {
 031    string Input = "01101111 01101110 01100101 00100000 01101100 01101001 01101110 01100101"; //string.Empty;
 032    string Output = string.Empty;
 33
 34    void Swap()
 035    {
 036        Input = String.Concat(Input.Where(c => !Char.IsWhiteSpace(c)));
 037        var data = GetBytesFromBinaryString(Input);
 038        var text = Encoding.ASCII.GetString(data);
 039        Output = text;
 040    }
 41
 42    private void Clear()
 043    {
 044        Input = string.Empty;
 045    }
 46
 47    async Task Copy()
 048    {
 049        await JSRuntime.InvokeVoidAsync("navigator.clipboard.writeText", Output);
 050    }
 51
 52    // https://stackoverflow.com/a/6008872/2895831
 53    private Byte[] GetBytesFromBinaryString(String binary)
 054    {
 055        var list = new List<Byte>();
 56
 057        for (int i = 0; i < binary.Length; i += 8)
 058        {
 059            String t = binary.Substring(i, 8);
 60
 061            list.Add(Convert.ToByte(t, 2));
 062        }
 63
 064        return list.ToArray();
 065    }
 66}