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); }); }