dart-exercism/darts/test/darts_test.dart

74 lines
1.9 KiB
Dart
Raw Permalink Normal View History

2024-10-14 11:37:17 +02:00
import 'package:darts/darts.dart';
import 'package:test/test.dart';
void main() {
final darts = Darts();
group('Darts', () {
test('Missed target', () {
final result = darts.score(-9, 9);
expect(result, equals(0));
}, skip: false);
test('On the outer circle', () {
final result = darts.score(0, 10);
expect(result, equals(1));
}, skip: false);
test('On the middle circle', () {
final result = darts.score(-5, 0);
expect(result, equals(5));
}, skip: false);
test('On the inner circle', () {
final result = darts.score(0, -1);
expect(result, equals(10));
}, skip: false);
test('Exactly on centre', () {
final result = darts.score(0, 0);
expect(result, equals(10));
}, skip: false);
test('Near the centre', () {
final result = darts.score(-0.1, -0.1);
expect(result, equals(10));
}, skip: false);
test('Just within the inner circle', () {
final result = darts.score(0.7, 0.7);
expect(result, equals(10));
}, skip: false);
test('Just outside the inner circle', () {
final result = darts.score(0.8, -0.8);
expect(result, equals(5));
}, skip: false);
test('Just within the middle circle', () {
final result = darts.score(-3.5, 3.5);
expect(result, equals(5));
}, skip: false);
test('Just outside the middle circle', () {
final result = darts.score(-3.6, -3.6);
expect(result, equals(1));
}, skip: false);
test('Just within the outer circle', () {
final result = darts.score(-7.0, 7.0);
expect(result, equals(1));
}, skip: false);
test('Just outside the outer circle', () {
final result = darts.score(7.1, -7.1);
expect(result, equals(0));
}, skip: false);
test('Asymmetric position between the inner and middle circles', () {
final result = darts.score(0.5, -4);
expect(result, equals(5));
}, skip: false);
});
}