| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import 'package:flutter_test/flutter_test.dart';
- import 'package:gobang/services/ai_service.dart';
- import 'package:gobang/utils/constants.dart';
- void main() {
- late AiService ai;
- setUp(() {
- ai = AiService.getInstance();
- ai.init();
- });
- test('board size constant', () {
- expect(kBoardSize, 15);
- expect(ai.chessboard.length, 15);
- });
- test('isWin detects horizontal five', () {
- for (var i = 0; i < 5; i++) {
- ai.addChessman(i, 7, 1);
- }
- expect(ai.isWin(2, 7, 1), isTrue);
- expect(ai.isWin(2, 7, -1), isFalse);
- });
- test('searchPosition returns empty cell', () {
- ai.addChessman(7, 7, 1);
- final pos = ai.searchPosition();
- expect(pos.dx, isNonNegative);
- expect(pos.dy, isNonNegative);
- expect(ai.isLegal(pos.dx.toInt(), pos.dy.toInt()), isTrue);
- });
- test('illegal after occupied', () {
- ai.addChessman(3, 3, 1);
- expect(ai.isLegal(3, 3), isFalse);
- });
- }
|