Ejemplo n.º 1
0
        public static InversionTestData CreateInversionDataForTest(string testData)
        {
            using (StringReader reader = new StringReader(testData))
            {
                int[] counts     = SplitToIntArray(reader.ReadLine());
                int   linesCount = counts[0];

                List <User> users = CreateUsers(linesCount, reader);

                reader.ReadLine();

                int userIdToVerify = Int32.Parse(reader.ReadLine());
                Dictionary <int, int> inversionValues = CreateExpectedInversionValues(linesCount, reader);

                InversionData expectedData = new InversionData(
                    users.Where(u => u.UserId == userIdToVerify).Single(),
                    inversionValues);

                return(new InversionTestData
                {
                    Users = users.ToArray(),
                    ExpectedData = expectedData
                });
            }
        }
        public void CalculateInversion_ForTestData_CalculatedDataRight(string testData)
        {
            InversionTestData      inversionTestData = InversionTestDataBuilder.CreateInversionDataForTest(testData);
            InversionCountAnalyzer analyzer          = new InversionCountAnalyzer(inversionTestData.Users);

            InversionData[] inversionResults = analyzer.CalculateInversion();

            InversionData actualResult = inversionResults
                                         .Single(ir => ir.User == inversionTestData.ExpectedData.User);

            Assert.That(actualResult.InversionValus, Is.EqualTo(inversionTestData.ExpectedData.InversionValus));
        }