pkecs 9.0.0

Another ECS implementation.
Documentation
//! Tests for eventing behavior.

use std::{cell::Cell, rc::Rc};
use pkecs_core::{entity::Entities, event::Events};

/// Asserts that event handlers can be triggered.
#[test]
fn handlers_triggered() {
    let called = Rc::new(Cell::new(false));
    let called_clone = called.clone();

    let mut events = Events::default();
    events.register(move |_: &TestEvent, _: &mut Entities| {
        called_clone.set(true);
    });

    events.trigger(&TestEvent, &mut Entities::default());

    assert!(called.get());
}

struct TestEvent;