コード例 #1
0
        public void RefreshData_and_ApplySearch_with_increasing_number_of_entities(int entityCount)
        {
            var profilerMarkers = new[] { "EntityList.RefreshData", "EntityList.ApplySearch" };

            var currentState = World
                               .Step(world =>
            {
                for (var i = 1; i < entityCount + 1; i++)
                {
                    world.Connection.CreateEntity(i, GetTemplate("some-entity"));
                }
            })
                               .Step(world =>
            {
                var data = new EntityListData();
                data.ApplySearch(EntitySearchParameters.FromSearchString("2"));
                data.SetNewWorld(world.Worker.World);     // Yikes
                return(data);
            });

            ActionMeasurement.Measure(() =>
            {
                currentState.Step((world, data) =>
                {
                    data.RefreshData();
                    return(data);
                });
            })
            .WarmupCount(3)
            .MeasurementCount(30)
            .ProfilerMarkers(profilerMarkers)
            .Run();
        }
コード例 #2
0
 public void SearchFilter_persists_through_RefreshData()
 {
     World
     .Step(world =>
     {
         world.Connection.CreateEntity(1, GetTemplate("some-entity"));
     })
     .Step(world =>
     {
         var data = new EntityListData();
         data.ApplySearch(EntitySearchParameters.FromSearchString("2")); // Entity ID = 2
         data.SetNewWorld(world.Worker.World);                           // Yikes
         return(data);
     })
     .Step((world, data) =>
     {
         data.RefreshData();
         Assert.IsEmpty(data.FilteredData);
     });
 }
コード例 #3
0
        public void RefreshData_finds_entities_after_setting_world()
        {
            World
            .Step(world =>
            {
                world.Connection.CreateEntity(1, GetTemplate("some-entity"));
            })
            .Step(world =>
            {
                var data = new EntityListData();
                data.SetNewWorld(world.Worker.World);     // Yikes
                return(data);
            })
            .Step((world, data) =>
            {
                data.RefreshData();
                Assert.AreEqual(1, data.FilteredData.Count);

                var entityData = data.FilteredData[0];
                Assert.AreEqual(1, entityData.EntityId.Id);
                Assert.AreEqual("some-entity", entityData.Metadata);
            });
        }
コード例 #4
0
 public void SetNewWorld_resets_data()
 {
     World
     .Step(world =>
     {
         world.Connection.CreateEntity(1, GetTemplate("some-entity"));
     })
     .Step(world =>
     {
         var data = new EntityListData();
         data.SetNewWorld(world.Worker.World);     // Yikes
         return(data);
     })
     .Step((world, data) =>
     {
         data.RefreshData();
         Assert.AreEqual(1, data.FilteredData.Count);
     })
     .Step((world, data) =>
     {
         data.SetNewWorld(null);
         Assert.IsEmpty(data.FilteredData);
     });
 }
コード例 #5
0
        public void ApplySearch_does_not_throw_if_no_world()
        {
            var data = new EntityListData();

            Assert.DoesNotThrow(() => data.ApplySearch(EntitySearchParameters.FromSearchString("")));
        }
コード例 #6
0
        public void RefreshData_does_not_throw_if_no_world()
        {
            var data = new EntityListData();

            Assert.DoesNotThrow(() => data.RefreshData());
        }
コード例 #7
0
        public void SetNewWorld_should_not_throw()
        {
            var data = new EntityListData();

            Assert.DoesNotThrow(() => data.SetNewWorld(null));
        }
コード例 #8
0
        public void Data_is_empty_intially()
        {
            var data = new EntityListData();

            Assert.IsEmpty(data.FilteredData);
        }