Remove duplicate mock_writer/mock_reader fixtures

Removed identical local copies from 45 test files. These fixtures
are already defined in conftest.py.
This commit is contained in:
Jared Miller 2026-02-16 15:29:21 -05:00
parent 5c2cc28415
commit 9c480f8d47
Signed by: shmup
GPG key ID: 22B5C6D66A38B06C
46 changed files with 5 additions and 650 deletions

View file

@ -38,19 +38,6 @@ def zone():
return z
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
def make_player(name, zone, mock_writer, mock_reader, is_admin=False):
p = Player(
name=name,

View file

@ -1,7 +1,5 @@
"""Tests for builder commands."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.player import Player, players
@ -26,19 +24,6 @@ def zone():
return z
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(zone, mock_writer, mock_reader):
p = Player(

View file

@ -2,7 +2,6 @@
import time
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -38,19 +37,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Goku", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -21,19 +21,6 @@ def _clean_test_commands():
commands._registry.update(snapshot)
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
# Create a 100x100 zone filled with passable terrain

View file

@ -1,7 +1,6 @@
"""Tests for the commands listing command."""
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -18,19 +17,6 @@ from mudlib.commands import (
)
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
from mudlib.player import Player

View file

@ -1,7 +1,5 @@
"""Tests for container state display in look and inventory commands."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.container import Container
@ -10,19 +8,6 @@ from mudlib.thing import Thing
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -3,7 +3,6 @@
import logging
import tempfile
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -11,19 +10,6 @@ from mudlib.content import load_command, load_commands
from mudlib.player import Player
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
return Player(name="TestPlayer", x=5, y=5, reader=mock_reader, writer=mock_writer)

View file

@ -1,6 +1,6 @@
"""Tests for editor integration with the shell and command system."""
from unittest.mock import AsyncMock, MagicMock
from unittest.mock import MagicMock
import pytest
@ -10,19 +10,6 @@ from mudlib.editor import Editor
from mudlib.player import Player
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
return Player(name="TestPlayer", x=5, y=5, reader=mock_reader, writer=mock_writer)

View file

@ -11,19 +11,6 @@ from mudlib.zone import Zone
from mudlib.zones import register_zone, zone_registry
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,26 +1,9 @@
"""Tests for Entity.posture property."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.entity import Entity, Mob
from mudlib.player import Player
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
def test_entity_default_posture():
"""Entity with no special state should be 'standing'."""
entity = Entity(name="Test", x=0, y=0)

View file

@ -1,5 +1,3 @@
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands.examine import cmd_examine
@ -10,19 +8,6 @@ from mudlib.thing import Thing
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -11,19 +11,6 @@ from mudlib.player import Player, players
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(100)] for _ in range(100)]

View file

@ -1,7 +1,5 @@
"""Tests for get and drop commands."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands import _registry
@ -11,19 +9,6 @@ from mudlib.thing import Thing
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,7 +1,5 @@
"""Tests for the standalone help command."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib import commands
@ -16,19 +14,6 @@ from mudlib.commands.help import _help_topics
from mudlib.content import load_help_topics
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
from mudlib.player import Player

View file

@ -1,7 +1,7 @@
"""Tests for TOML help topic loading."""
import textwrap
from unittest.mock import AsyncMock, MagicMock
from unittest.mock import MagicMock
import pytest
@ -84,14 +84,6 @@ def test_load_help_topics_skips_bad_files(tmp_path):
assert "broken" not in topics
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def player(mock_writer):
from mudlib.player import Player

View file

@ -1,6 +1,6 @@
"""Tests for help command showing unlock status for combat moves."""
from unittest.mock import AsyncMock, MagicMock, patch
from unittest.mock import patch
import pytest
@ -17,14 +17,6 @@ def clear_state():
players.clear()
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def player(mock_writer):
return Player(name="Test", writer=mock_writer)

View file

@ -8,19 +8,6 @@ from mudlib.if_session import IFResponse, IFSession
from mudlib.player import Player
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
return Player(name="TestPlayer", x=5, y=5, reader=mock_reader, writer=mock_writer)

View file

@ -9,19 +9,6 @@ from mudlib.player import Player, players
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture(autouse=True)
def clear_players():
"""Clear players registry before and after each test."""

View file

@ -1,7 +1,5 @@
"""Tests for inventory command."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib import commands
@ -23,18 +21,6 @@ def test_zone():
)
@pytest.fixture
def mock_writer():
"""Create a mock writer."""
return MagicMock(write=MagicMock(), drain=AsyncMock())
@pytest.fixture
def mock_reader():
"""Create a mock reader."""
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
"""Create a test player."""

View file

@ -1,5 +1,3 @@
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.container import Container
@ -8,19 +6,6 @@ from mudlib.thing import Thing
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -26,19 +26,6 @@ def _reset_globals():
mudlib.weather._current_weather = None
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
"""Create a test zone with simple terrain."""

View file

@ -2,7 +2,6 @@
import time
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -51,19 +50,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Goku", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,6 @@
"""Tests for mob AI integration with behavior states."""
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -43,19 +42,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Hero", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,7 @@
"""Tests for mob templates, registry, spawn/despawn, and combat integration."""
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
from unittest.mock import MagicMock
import pytest
@ -182,19 +182,6 @@ class TestGetNearbyMob:
# --- Phase 2: target resolution tests ---
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Goku", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,5 @@
"""End-to-end integration tests for NPC system (behavior + dialogue + schedule)."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands.talk import cmd_reply, cmd_talk, dialogue_trees
@ -44,19 +42,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Hero", x=10, y=10, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,5 @@
"""Tests for open and close commands."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands import _registry
@ -11,19 +9,6 @@ from mudlib.thing import Thing
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -2,7 +2,6 @@
import os
import tempfile
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -25,21 +24,6 @@ def temp_db():
os.unlink(db_path)
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
writer.close = MagicMock()
writer.is_closing = MagicMock(return_value=False)
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.mark.asyncio
async def test_quit_saves_player_state(temp_db, mock_reader, mock_writer):
"""Quit command saves player state before disconnecting."""

View file

@ -1,20 +1,12 @@
"""Tests for the play command."""
from unittest.mock import AsyncMock, MagicMock, Mock, patch
from unittest.mock import AsyncMock, Mock, patch
import pytest
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def test_zone():
"""Create a test zone for spatial queries."""

View file

@ -1,25 +1,8 @@
"""Tests for player description and home_zone fields."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.player import Player
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
def test_player_default_description(mock_reader, mock_writer):
"""Test that Player has default empty description."""
player = Player(name="Hero", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,5 @@
"""Tests for auto-triggering portals on movement."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.player import Player
@ -10,19 +8,6 @@ from mudlib.zone import Zone
from mudlib.zones import register_zone, zone_registry
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,7 +1,5 @@
"""Tests for portal display in look command."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.player import Player
@ -9,19 +7,6 @@ from mudlib.portal import Portal
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,26 +1,11 @@
"""Tests for prefix matching in command dispatch."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib import commands
from mudlib.commands import CommandDefinition
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
from mudlib.player import Player

View file

@ -1,26 +1,11 @@
"""Tests for the prompt command."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands.prompt import cmd_prompt
from mudlib.prompt import render_prompt
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
from mudlib.player import Player

View file

@ -1,7 +1,5 @@
"""Tests for put and take-from commands."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands import _registry
@ -11,19 +9,6 @@ from mudlib.thing import Thing
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,7 +1,5 @@
"""Tests for readable objects."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.player import Player, players
@ -27,19 +25,6 @@ def zone():
)
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
# --- Thing model ---

View file

@ -1,7 +1,6 @@
"""Tests for the reload command."""
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -19,19 +18,6 @@ def clear_state():
players.clear()
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer):
"""Create a test player."""

View file

@ -1,7 +1,5 @@
"""Tests for rest command."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands.rest import cmd_rest
@ -33,19 +31,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Goku", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -2,7 +2,6 @@
import pathlib
import tempfile
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -47,19 +46,6 @@ def unsafe_zone():
)
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
# --- Zone property tests ---

View file

@ -1,7 +1,5 @@
"""Tests for the spawn command."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands.spawn import cmd_spawn
@ -22,19 +20,6 @@ def clear_state():
players.clear()
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
"""Create a test zone for spawning."""

View file

@ -2,7 +2,6 @@
import tempfile
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -47,19 +46,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Hero", x=10, y=10, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,6 @@
"""Tests for TOML verb support in thing templates."""
import textwrap
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -26,19 +25,6 @@ async def _another_test_handler(obj, player, args):
await player.send(f"another verb on {obj.name}\r\n")
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,7 +1,5 @@
"""Tests for two-way portal transitions."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.player import Player
@ -10,19 +8,6 @@ from mudlib.zone import Zone
from mudlib.zones import register_zone, zone_registry
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def zone_a():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,5 +1,3 @@
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands.use import cmd_use
@ -9,19 +7,6 @@ from mudlib.verbs import verb
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,7 +1,6 @@
"""Tests for variant prefix matching in combat commands."""
from pathlib import Path
from unittest.mock import AsyncMock, MagicMock
import pytest
@ -37,19 +36,6 @@ def test_zone():
return zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def player(mock_reader, mock_writer, test_zone):
p = Player(name="Goku", x=0, y=0, reader=mock_reader, writer=mock_writer)

View file

@ -1,7 +1,5 @@
"""Tests for verb dispatch fallback in command system."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.commands import dispatch
@ -11,19 +9,6 @@ from mudlib.verbs import verb
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]

View file

@ -1,7 +1,5 @@
"""Tests for the verb system on Object."""
from unittest.mock import AsyncMock, MagicMock
import pytest
from mudlib.object import Object
@ -11,19 +9,6 @@ from mudlib.verbs import find_object, verb
from mudlib.zone import Zone
@pytest.fixture
def mock_writer():
writer = MagicMock()
writer.write = MagicMock()
writer.drain = AsyncMock()
return writer
@pytest.fixture
def mock_reader():
return MagicMock()
@pytest.fixture
def test_zone():
terrain = [["." for _ in range(10)] for _ in range(10)]