void assertHasNotComponentA(Entity e) {
     var components = e.GetComponents();
     components.Length.should_be(0);
     var indices = e.GetComponentIndices();
     indices.Length.should_be(0);
     e.HasComponentA().should_be_false();
     e.HasComponents(_indicesA).should_be_false();
     e.HasAnyComponent(_indicesA).should_be_false();
 }
    void assertHasComponentA(Entity e, IComponent component = null) {
        if (component == null) {
            component = Component.A;
        }

        e.GetComponentA().should_be_same(component);
        var components = e.GetComponents();
        components.Length.should_be(1);
        components.should_contain(component);
        var indices = e.GetComponentIndices();
        indices.Length.should_be(1);
        indices.should_contain(CID.ComponentA);
        e.HasComponentA().should_be_true();
        e.HasComponents(_indicesA).should_be_true();
        e.HasAnyComponent(_indicesA).should_be_true();
    }