# `Examples.EEventBroker.Subscribe`

I define examples on how to susbcribe to topics in the event broker.

# `__ex_example__subscribe_to_filter__`

I subscribe using the `Trivial` filter and assert that I receive any events
sent on the message broker.

# `__ex_example__subscribe_to_multiple_filters__`

I subscribe to multiple filters and assert that I receive the events that are
allowed by those filters.

# `__ex_example__unsubscribe_from_filter__`

I unsubscribe a process from a filter and verify that it is unsubscribed.

# `__ex_example__unsubscribe_on_down__`

I subscribe a process to events, and check whether the registry cleans up its
subscriptions when it goes offline.

# `assert_subscription`

```elixir
@spec assert_subscription([struct()] | struct()) :: [struct()] | struct()
```

I assert that the current process is subscribed to the given filter.

# `copy`

# `refute_subscription`

```elixir
@spec refute_subscription([struct()] | struct()) :: [struct()] | struct()
@spec refute_subscription(struct()) :: struct()
```

Given a list of filters, I make sure that the current process is not subscribed to them.

# `rerun?`

# `subscribe_to_filter`

```elixir
@spec subscribe_to_filter(struct()) :: {:received, any()}
```

# `subscribe_to_multiple_filters`

```elixir
@spec subscribe_to_multiple_filters([struct()]) :: {:received, any()}
```

# `unsubscribe_from_filter`

```elixir
@spec unsubscribe_from_filter(struct()) :: {:received, any()}
```

# `unsubscribe_on_down`

```elixir
@spec unsubscribe_on_down() :: any()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
