public void TestSingle() { var s = "A"; var p = new int[] { 0 }; var q = new int[] { 0 }; var result = PrefixSums.solution(s, p, q); Assert.AreEqual(new int[] { 1 }, result); }
public void TestSingle1() { var s = "TC"; var p = new int[] { 0, 0, 1 }; var q = new int[] { 0, 1, 1 }; var result = PrefixSums.solution(s, p, q); Assert.AreEqual(new int[] { 4, 2, 2 }, result); }
public void TestExample() { var s = "CAGCCTA"; var p = new int[] { 2, 5, 0 }; var q = new int[] { 4, 5, 6 }; var result = PrefixSums.solution(s, p, q); Assert.AreEqual(result, new int[] { 2, 4, 1 }); }
public void TestAlmostAllSame() { var p = new int[49999]; var q = new int[49999]; var expected = new int[49999]; var s1 = new StringBuilder(); for (var i = 0; i < 100000; i++) { s1.Append(i % 100 == 0 ? "A" : "G"); } for (var x = 0; x < 49999; x++) { p[x] = 0; q[x] = 99999; expected[x] = 1; } var result = PrefixSums.solution(s1.ToString(), p, q); Assert.AreEqual(result, expected); }