public void MinImpactFactor_Sample_3() { var sequence = "CAGCCTA"; var starts = new[] { 2, 5, 0 }; var ends = new[] { 4, 5, 6 }; var solver = new GenomicRangeQuery(sequence); var minImpactFactors = solver.MinImpactFactors(starts, ends).ToArray(); minImpactFactors.Should().Equal(new[] { 2, 4, 1 }); }
public void GenomicRangeQuerySolutionTest() { var genomicRangeQuery = new GenomicRangeQuery(); var sequence = "CAGCCTA"; int[] queryOne = { 2, 5, 0 }; int[] queryTwo = { 4, 5, 6 }; int[] result = genomicRangeQuery.Solve(sequence, queryOne, queryTwo); int[] expected = { 2, 4, 1 }; CollectionAssert.AreEqual(expected, result); }
public void MinImpactFactor_AlmostAllTheSame_Correct() { //0123456789012345678901 var sequence = "GGGGGGGGGAGGGGGGGGGGGG"; var starts = new[] { 0, 0, 0, 9, 10, 20, 9 }; var ends = new[] { 21, 8, 9, 21, 21, 20, 9 }; var expectation = new[] { 1, 3, 1, 1, 3, 3, 1 }; var solver = new GenomicRangeQuery(sequence); var minImpactFactors = solver.MinImpactFactors(starts, ends).ToArray(); minImpactFactors.Should().Equal(expectation); }
public void MinImpactFactor_AllChars_Correct() { //0123456789012345678901 var sequence = "ACTGTGCAACTGAGAGCCAATT"; var starts = new[] { 0, 5, 2, 7, 15, 20, 1 }; var ends = new[] { 21, 5, 3, 10, 17, 21, 6 }; var expectation = new[] { 1, 3, 3, 1, 2, 4, 2 }; var solver = new GenomicRangeQuery(sequence); var minImpactFactors = solver.MinImpactFactors(starts, ends).ToArray(); minImpactFactors.Should().Equal(expectation); }
public void Solution_SmallArray_Correct() { //Arrange - Given var stringDNA = "CAGCCTA"; var pQueries = new int[] { 2, 5, 0 }; var qQueries = new int[] { 4, 5, 6 }; //Act - When var result = GenomicRangeQuery.Solution(stringDNA, pQueries, qQueries); //Assert - Then var expectedResult = new int[] { 2, 4, 1 }; Assert.Equal(expectedResult, result); }