public void Exclude()
        {
            ComponentQuery query = new ComponentQuery();

            query.Exclude <TestComponent2>();

            Assert.True(query.Matches(archetypeEmpty));
            Assert.False(query.Matches(archetypeC1C2S1));
            Assert.False(query.Matches(archetypeC1C2S1S2));
            Assert.True(query.Matches(archetypeC1));
            Assert.False(query.Matches(archetypeC1C2));
            Assert.True(query.Matches(archetypeC1S1));
            Assert.False(query.Matches(archetypeC2S1));
        }
        public void IncludeShared()
        {
            ComponentQuery query = new ComponentQuery();

            query.IncludeShared <SharedComponent1>();
            query.IncludeShared <SharedComponent2>();

            Assert.False(query.Matches(archetypeEmpty));
            Assert.False(query.Matches(archetypeC1C2S1));
            Assert.True(query.Matches(archetypeC1C2S1S2));
            Assert.False(query.Matches(archetypeC1));
            Assert.False(query.Matches(archetypeC1C2));
            Assert.False(query.Matches(archetypeC1S1));
            Assert.False(query.Matches(archetypeC2S1));
        }