ai_test.dart 932 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'package:flutter_test/flutter_test.dart';
  2. import 'package:gobang/services/ai_service.dart';
  3. import 'package:gobang/utils/constants.dart';
  4. void main() {
  5. late AiService ai;
  6. setUp(() {
  7. ai = AiService.getInstance();
  8. ai.init();
  9. });
  10. test('board size constant', () {
  11. expect(kBoardSize, 15);
  12. expect(ai.chessboard.length, 15);
  13. });
  14. test('isWin detects horizontal five', () {
  15. for (var i = 0; i < 5; i++) {
  16. ai.addChessman(i, 7, 1);
  17. }
  18. expect(ai.isWin(2, 7, 1), isTrue);
  19. expect(ai.isWin(2, 7, -1), isFalse);
  20. });
  21. test('searchPosition returns empty cell', () {
  22. ai.addChessman(7, 7, 1);
  23. final pos = ai.searchPosition();
  24. expect(pos.dx, isNonNegative);
  25. expect(pos.dy, isNonNegative);
  26. expect(ai.isLegal(pos.dx.toInt(), pos.dy.toInt()), isTrue);
  27. });
  28. test('illegal after occupied', () {
  29. ai.addChessman(3, 3, 1);
  30. expect(ai.isLegal(3, 3), isFalse);
  31. });
  32. }