私は Dart を使用しており、低レベルのプロジェクト オイラーの問題を解決しようとしています。この問題は、素数カウンターと最大素因数問題の両方に当てはまります。
これが単体テストと生成される以下のエラーです(私の他の2つの単体テストは正常に評価されます):
test('evaluate if target is not factorable', () {
// Arrange
var maximum = 14;
var control_list_of_primes = <int>[2,3,5,7,11];
var test_list_of_primes = <int>[2,3,5,7,11];
// Act
prime_list_expansion(maximum, test_list_of_primes);
// Assert
expect(test_list_of_primes[-1] == 13, true);
});
ERROR: -prime factor generator- should evaluate if target is not factorable
Test failed: Caught RangeError: -1
List.[]
これが関数ですprime_list_expansion
(それが呼び出す関数は、私が設計したテストに合格するので、問題はないと思います):
prime_list_expansion (int maximum, List prime_list) {
var start = prime_list[-1];
for (var i = start; i < maximum; i = i+2) {
if (target_not_factorable (i, prime_list)) {
prime_list.add(i);
}
}
}