Ejemplo n.º 1
0
        public void Should_behave_correctly_when_key_changed()
        {
            using World world = new World();

            using EntityMultiMap <int> map = world.GetEntities().AsMultiMap <int>();

            Entity entity = world.CreateEntity();

            entity.Set(42);

            Check.That(map.TryGetEntities(42, out ReadOnlySpan <Entity> result)).IsTrue();
            Check.That(result.ToArray()).ContainsExactly(entity);

            entity.Set(1337);

            Check.That(map.TryGetEntities(42, out result)).IsFalse();
            Check.That(map.TryGetEntities(1337, out result)).IsTrue();
            Check.That(result.ToArray()).ContainsExactly(entity);

            entity.Get <int>() = 42;
            entity.NotifyChanged <int>();

            Check.That(map.TryGetEntities(1337, out result)).IsFalse();
            Check.That(map.TryGetEntities(42, out result)).IsTrue();
            Check.That(result.ToArray()).ContainsExactly(entity);
        }
Ejemplo n.º 2
0
        public void TryGetEntities_Should_return_weither_a_key_is_in_or_not()
        {
            using World world = new World();

            using EntityMultiMap <int> map = world.GetEntities().AsMultiMap <int>();

            Entity entity = world.CreateEntity();

            Check.That(map.TryGetEntities(42, out ReadOnlySpan <Entity> result)).IsFalse();

            entity.Set(42);

            Check.That(map.TryGetEntities(42, out result)).IsTrue();
            Check.That(result.ToArray()).ContainsExactly(entity);

            entity.Disable <int>();

            Check.That(map.TryGetEntities(42, out result)).IsFalse();

            entity.Enable <int>();

            Check.That(map.TryGetEntities(42, out result)).IsTrue();
            Check.That(result.ToArray()).ContainsExactly(entity);

            entity.Remove <int>();

            Check.That(map.TryGetEntities(42, out result)).IsFalse();
        }
Ejemplo n.º 3
0
        public void Complete_Should_empty_When_reative()
        {
            using World world = new World();

            using EntityMultiMap <int> map = world.GetEntities().WhenAddedEither <int>().AsMultiMap <int>();

            Entity entity = world.CreateEntity();

            entity.Set(42);

            Check.That(map.TryGetEntities(42, out ReadOnlySpan <Entity> result)).IsTrue();
            Check.That(result.ToArray()).ContainsExactly(entity);

            map.Complete();

            Check.That(map.TryGetEntities(42, out result)).IsFalse();

            entity.Set(1337);

            Check.That(map.TryGetEntities(42, out result)).IsFalse();
        }