小编Pit*_*erK的帖子

单元测试 - 最佳实践

我使用带有MSTest框架的Visual Studio 2010 Professional来执行单元测试.我有令人讨厌的生产代码来测试.第一个问题是有问题的代码在构造函数中.我将展示examaple:

class ClassToTest
    {
        public SomeEnum UpperBorder;
        public SomeEnum LowerBorder;
        public int var1;
        private readonly SomeEnum2 _ethnicGroup;
        private readonly double _age;
        public int DataStart;
        public int DataEnd;
        public double[] DarkRedDarkYellow;
        public double[] DarkYellowGreen;
        public double[] GreenLightYellow;
        public double[] LightYellowLightRed;

        public ClassToTest(SomeEnum upperBorder, SomeEnum lowerBorder, int var1, SomeEnum2 ethnicGroup, int age)
        {
            UpperBorder = upperBorder;
            LowerBorder = lowerBorder;
            BscanIndex = bscanIndex;
            _ethnicGroup = ethnicGroup;
            _age = age;
            DataStart = 0;
            DataEnd = 0;
            DarkRedDarkYellow = null;
            DarkYellowGreen = …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest visual-studio-2010

5
推荐指数
1
解决办法
7550
查看次数

MemoryStream来自bytes数组,具有不同类型的数据

我想创建一个包含int32,int16,单值的内存流.使用二进制文件是没用的,所以我试图创建字节数组.因为值是不同的类型,我不知道如何正确地做到这一点.所以我尝试这样做:

byte[] tab = new byte[]{2,0,0,0,3,0,3,0} - 2是int32(四个字节),另外两个是int16(两个字节)

工作正常,但是当我想添加一些单个值时,它会产生错误.我不能这样做:

byte[] tab = new byte[]{2,0,0,0,3,0,3,0,4.4f,5.6f}

我必须有正确格式的流,因为这个流将在这个方法中读取:

short[] rawData;
 float[] modulusData;
   public void rawData(Stream s)
        {

            BinaryReader br = new BinaryReader(s);

            int dataCount = br.ReadInt32();

            if (dataCount > 0)
            {
                rawData = new short[dataCount];
                for (int i = 0; i < dataCount; i++)
                    rawData[i] = br.ReadInt16();
            }
            else
                rawData = new short[0];

            dataCount = br.ReadInt32();

            if (dataCount > 0)
            {
                modulusData = new float[dataCount];
                for (int i = 0; i < dataCount; …
Run Code Online (Sandbox Code Playgroud)

c# floating-point byte memorystream

3
推荐指数
1
解决办法
4448
查看次数

如何从嵌套的xml节点获取属性值?

我有这样格式化的XElement对象:

<Setting guid="3bcedf55-b75f-456b-b90a-a92cbbb022ga">
    <PatientFieldList>
        <PatientFieldSetting PatientName="UserDecision" PatentFieldLength="64" />
        <PatientFieldSetting PatientName="prohibited" PatentFieldLength="128" />
    </PatientFieldList>
</Setting>
Run Code Online (Sandbox Code Playgroud)

我必须获取所有节点中所有属性的值,但我不知道如何:/我尝试过

xml.Elements("PatientFieldList")

xml.Descendants("PatientsSettingsFieldsList").Where(x => x.Attribute("PatentFieldLength").Value == 64)`
Run Code Online (Sandbox Code Playgroud)

我有很多这样的节点,所以我想知道是否有通过“ []”或某种方式访问​​这些属性的简便方法。

c# xml xelement linq-to-xml

2
推荐指数
1
解决办法
3127
查看次数