将C#单元测试转换为方法
我收到了一些为xunit编写的单元测试代码。我需要在我的应用程序中使用此代码来生成CRC-16。如何获取下面的代码以返回所需的内容将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.
[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输出是错误的。我已经在这里为任何感兴趣的人发了一个帖子-