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)); }