public void TestCalculateNumberOfIntensityValuesOfSample()
        {
            int[] expectedSampleIntensityValuesCount = new int[8];
            expectedSampleIntensityValuesCount[0] = 0;
            expectedSampleIntensityValuesCount[1] = 1;
            expectedSampleIntensityValuesCount[2] = 1;
            expectedSampleIntensityValuesCount[3] = 1;
            expectedSampleIntensityValuesCount[4] = 0;
            expectedSampleIntensityValuesCount[5] = 1;
            expectedSampleIntensityValuesCount[6] = 1;
            expectedSampleIntensityValuesCount[7] = 0;

            List <string> sampleFileNames = new List <string>();

            sampleFileNames.Add("Intensity_B02_06_161103_A1_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_07_161103_A2_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_16_161103_A3_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_17_161103_A4_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_24_161103_C1_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_09_161103_C2_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_14_161103_C3_HCD_OT_4ul");
            sampleFileNames.Add("Intensity_B02_19_161103_C4_HCD_OT_4ul");

            ProteinRowInfo sampleprotein1 = new ProteinRowInfo();

            sampleprotein1.ProteinID = "A0A023KES1";
            sampleprotein1.SamplesIntensityData["Intensity_B02_06_161103_A1_HCD_OT_4ul"] = 0;
            sampleprotein1.SamplesIntensityData["Intensity_B02_07_161103_A2_HCD_OT_4ul"] = 22.729;
            sampleprotein1.SamplesIntensityData["Intensity_B02_16_161103_A3_HCD_OT_4ul"] = 22.347;
            sampleprotein1.SamplesIntensityData["Intensity_B02_17_161103_A4_HCD_OT_4ul"] = 22.397;
            sampleprotein1.SamplesIntensityData["Intensity_B02_24_161103_C1_HCD_OT_4ul"] = 0;
            sampleprotein1.SamplesIntensityData["Intensity_B02_09_161103_C2_HCD_OT_4ul"] = 23.180;
            sampleprotein1.SamplesIntensityData["Intensity_B02_14_161103_C3_HCD_OT_4ul"] = 23.293;
            sampleprotein1.SamplesIntensityData["Intensity_B02_19_161103_C4_HCD_OT_4ul"] = 0;


            ProteinRowInfo sampleprotein2 = new ProteinRowInfo();

            sampleprotein2.ProteinID = "A0A024R4E5";
            sampleprotein2.SamplesIntensityData["Intensity_B02_06_161103_A1_HCD_OT_4ul"] = 0;
            sampleprotein2.SamplesIntensityData["Intensity_B02_07_161103_A2_HCD_OT_4ul"] = 25.535;
            sampleprotein2.SamplesIntensityData["Intensity_B02_16_161103_A3_HCD_OT_4ul"] = 0;
            sampleprotein2.SamplesIntensityData["Intensity_B02_17_161103_A4_HCD_OT_4ul"] = 0;
            sampleprotein2.SamplesIntensityData["Intensity_B02_24_161103_C1_HCD_OT_4ul"] = 25.370;
            sampleprotein2.SamplesIntensityData["Intensity_B02_09_161103_C2_HCD_OT_4ul"] = 24;
            sampleprotein2.SamplesIntensityData["Intensity_B02_14_161103_C3_HCD_OT_4ul"] = 25.359;
            sampleprotein2.SamplesIntensityData["Intensity_B02_19_161103_C4_HCD_OT_4ul"] = 0;

            int[]             outputSampleIntensityValuesCount  = new int[8];
            double[]          outputSampleAllIntensityValuesSum = new double[8];
            ImputationProcess imputationProcess = new ImputationProcess();

            imputationProcess.CalculateNumberAndSumOfIntensityValuesOfSample(sampleprotein1,
                                                                             outputSampleAllIntensityValuesSum, sampleFileNames, outputSampleIntensityValuesCount);

            CollectionAssert.AreEqual(expectedSampleIntensityValuesCount, outputSampleIntensityValuesCount);

            expectedSampleIntensityValuesCount[0] = 0;
            expectedSampleIntensityValuesCount[1] = 2;
            expectedSampleIntensityValuesCount[2] = 1;
            expectedSampleIntensityValuesCount[3] = 1;
            expectedSampleIntensityValuesCount[4] = 1;
            expectedSampleIntensityValuesCount[5] = 2;
            expectedSampleIntensityValuesCount[6] = 2;
            expectedSampleIntensityValuesCount[7] = 0;

            imputationProcess.CalculateNumberAndSumOfIntensityValuesOfSample(sampleprotein2,
                                                                             outputSampleAllIntensityValuesSum, sampleFileNames, outputSampleIntensityValuesCount);

            CollectionAssert.AreEqual(expectedSampleIntensityValuesCount, outputSampleIntensityValuesCount);
        }