File size: 1,392 Bytes
69373e6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# PyCatan Tests

This directory contains all test files for the PyCatan project, organized by test type.

## Directory Structure

### 📦 unit/
**Unit Tests** - Testing individual modules and components in isolation.

Files: `test_actions.py`, `test_board.py`, `test_game.py`, etc.

Run with: `pytest tests/unit/`

### 🔗 integration/
**Integration Tests** - Testing complete game scenarios and interactions between components.

Includes comprehensive tests for:
- Knight card functionality
- City building mechanics
- Robber interactions
- Trade systems
- Game flow scenarios

Files: `test_knight_*.py`, `test_city_building.py`, etc.

Run with: `pytest tests/integration/`

### 🎮 manual/
**Manual Tests** - Tests requiring user interaction or visual verification.

Currently empty - reserved for interactive tests.

## Running Tests

```bash
# Run all tests
pytest tests/

# Run only unit tests
pytest tests/unit/

# Run only integration tests
pytest tests/integration/

# Run specific test file
pytest tests/integration/test_knight_card.py

# Run with verbose output
pytest tests/ -v
```

## Test Coverage

The tests cover:
- Core game logic (Game, Player, Board)
- Building mechanics (settlements, cities, roads)
- Card systems (resource cards, development cards)
- Game flow (turns, dice rolling, robber)
- User interactions (HumanUser, GameManager)
- Visualizations (Console, Web)