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);
        }
Esempio n. 5
0
        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);
        }