将C#单元测试转换为方法

将C#单元测试转换为方法,c#,crc,crc16,C#,Crc,Crc16,我收到了一些为xunit编写的单元测试代码。我需要在我的应用程序中使用此代码来生成CRC-16。如何获取下面的代码以返回所需的内容 [Fact] public void ComputesCrc16FromTelegramOf8000() { var calculator = new CRC16(); var test = StringToByteArray("8000"); var result = calculator.

我收到了一些为xunit编写的单元测试代码。我需要在我的应用程序中使用此代码来生成CRC-16。如何获取下面的代码以返回所需的内容

    [Fact]
    public void ComputesCrc16FromTelegramOf8000()
    {
        var calculator = new CRC16();

        var test = StringToByteArray("8000");
        var result = calculator.ComputeHash(test, 0, test.Length);
        Assert.Equal((ushort) 0xC061, BitConverter.ToUInt16(result, 0));
    }

您只需添加一些输入并返回结果:

public Byte[] ComputeCrc16(string input) 
{
    var calculator = new CRC16();
    var bytes = StringToByteArray(input);

    return calculator.ComputeHash(bytes, 0, bytes.Length);
}

你是在问我们如何计算CRC-16哈希吗?也就是说,如何实现
CRC16.ComputeHash
方法?据我所知,测试用例是为了确保您的功能不被破坏。我认为OP需要一个使用CRC16的例子,并且得到了一个单元测试——他不知道如何将单元测试更改为辅助方法。红蜘蛛1984,这是正确的。我只是在尝试你的建议。或者更确切地说是
返回计算器.ComputeHash(bytes,0,bytes.Length)
删除
=
,还需要将返回类型设置为
byte[]
这适用于给定的问题,但是CRC输出是错误的。我已经在这里为任何感兴趣的人发了一个帖子-