def METHOD_NAME(mock_scheduler: AsyncMock, project_id: ProjectID) -> list[Example]:
    return [
        # nothing exists
        Example.using(
            existing={},
            new={
                _network_name(1): {
                    _node_id(1): _node_alias(1),
                    _node_id(2): _node_alias(2),
                }
            },
            detach=[],
            attach=[
                call.attach_project_network(
                    node_id=UUID(_node_id(2)),
                    project_network=_network_name(1),
                    network_alias=_node_alias(2),
                ),
                call.attach_project_network(
                    node_id=UUID(_node_id(1)),
                    project_network=_network_name(1),
                    network_alias=_node_alias(1),
                ),
            ],
        ),
        # with existing network, remove node 2
        Example.using(
            existing={
                _network_name(1): {
                    _node_id(1): _node_alias(1),
                    _node_id(2): _node_alias(2),
                }
            },
            new={
                _network_name(1): {
                    f"{_node_id(1)}": _node_alias(1),
                }
            },
            detach=[
                call.detach_project_network(
                    node_id=UUID(_node_id(2)),
                    project_network=_network_name(1),
                ),
            ],
            attach=[],
        ),
        # remove node 2 and add node 2 with different alias
        Example.using(
            existing={
                _network_name(1): {
                    _node_id(1): _node_alias(1),
                    _node_id(2): _node_alias(2),
                }
            },
            new={
                _network_name(1): {
                    _node_id(1): _node_alias(1),
                    _node_id(2): _node_alias(3),
                }
            },
            detach=[
                call.detach_project_network(
                    node_id=UUID(_node_id(2)),
                    project_network=_network_name(1),
                ),
            ],
            attach=[
                call.attach_project_network(
                    node_id=UUID(_node_id(2)),
                    project_network=_network_name(1),
                    network_alias=_node_alias(3),
                ),
            ],
        ),
        # nothing happens when updates with the same content
        Example.using(
            existing={
                _network_name(1): {
                    _node_id(1): _node_alias(1),
                    _node_id(2): _node_alias(2),
                }
            },
            new={
                _network_name(1): {
                    _node_id(1): _node_alias(1),
                    _node_id(2): _node_alias(2),
                }
            },
            detach=[],
            attach=[],
        ),
    ]