public void TestCalculateSampleStandardDeviationNumerator()
        {
            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;

            double[] samplesMeanIntensityValue = new double[8];
            samplesMeanIntensityValue[0] = 0;
            samplesMeanIntensityValue[1] = (22.729 + 25.535) / 2;
            samplesMeanIntensityValue[2] = 22.347 / 2;
            samplesMeanIntensityValue[3] = 22.397 / 2;
            samplesMeanIntensityValue[4] = 25.370 / 2;
            samplesMeanIntensityValue[5] = (23.180 + 24) / 2;
            samplesMeanIntensityValue[6] = (23.293 + 25.359) / 2;
            samplesMeanIntensityValue[7] = 0;

            double[] expectedSamplesStandardDeviationNumerators = new double[8];
            expectedSamplesStandardDeviationNumerators[0] = 0;
            expectedSamplesStandardDeviationNumerators[1] = Math.Pow(22.729 - samplesMeanIntensityValue[1], 2);
            expectedSamplesStandardDeviationNumerators[2] = Math.Pow(22.347 - samplesMeanIntensityValue[2], 2);
            expectedSamplesStandardDeviationNumerators[3] = Math.Pow(22.397 - samplesMeanIntensityValue[3], 2);
            expectedSamplesStandardDeviationNumerators[4] = 0;
            expectedSamplesStandardDeviationNumerators[5] = Math.Pow(23.180 - samplesMeanIntensityValue[5], 2);
            expectedSamplesStandardDeviationNumerators[6] = Math.Pow(23.293 - samplesMeanIntensityValue[6], 2);
            expectedSamplesStandardDeviationNumerators[7] = 0;

            double[]          outputSamplesStandardDeviationNumerators = new double[8];
            ImputationProcess imputationProcess = new ImputationProcess();

            imputationProcess.CalculateSampleStandardDeviationNumerator(sampleprotein1, outputSamplesStandardDeviationNumerators,
                                                                        sampleFileNames, samplesMeanIntensityValue);
            CollectionAssert.AreEqual(expectedSamplesStandardDeviationNumerators, outputSamplesStandardDeviationNumerators);

            expectedSamplesStandardDeviationNumerators[0] = 0;
            expectedSamplesStandardDeviationNumerators[1] = Math.Pow(22.729 - samplesMeanIntensityValue[1], 2)
                                                            + Math.Pow(25.535 - samplesMeanIntensityValue[1], 2);
            expectedSamplesStandardDeviationNumerators[2] = Math.Pow(22.347 - samplesMeanIntensityValue[2], 2);
            expectedSamplesStandardDeviationNumerators[3] = Math.Pow(22.397 - samplesMeanIntensityValue[3], 2);
            expectedSamplesStandardDeviationNumerators[4] = Math.Pow(25.370 - samplesMeanIntensityValue[4], 2);
            expectedSamplesStandardDeviationNumerators[5] = Math.Pow(23.180 - samplesMeanIntensityValue[5], 2)
                                                            + Math.Pow(24 - samplesMeanIntensityValue[5], 2);
            expectedSamplesStandardDeviationNumerators[6] = Math.Pow(23.293 - samplesMeanIntensityValue[6], 2)
                                                            + Math.Pow(25.359 - samplesMeanIntensityValue[6], 2);
            expectedSamplesStandardDeviationNumerators[7] = 0;

            imputationProcess.CalculateSampleStandardDeviationNumerator(sampleprotein2, outputSamplesStandardDeviationNumerators,
                                                                        sampleFileNames, samplesMeanIntensityValue);
            CollectionAssert.AreEqual(expectedSamplesStandardDeviationNumerators, outputSamplesStandardDeviationNumerators);
        }