public void FromSearchString_converts_all_to_lower()
        {
            var searchParams = EntitySearchParameters.FromSearchString("CAPS");

            Assert.IsNotNull(searchParams.SearchFragment);
            Assert.AreEqual("caps", searchParams.SearchFragment);
        }
        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();
        }
        public void FromSearchString_ignores_leading_and_trailing_whitespace(string searchString, string expectedFragment)
        {
            var searchParams = EntitySearchParameters.FromSearchString(searchString);

            Assert.IsNotNull(searchParams.SearchFragment);
            Assert.AreEqual(expectedFragment, searchParams.SearchFragment);
        }
        public void FromSearchString_parses_out_numbers(string searchString, long resultingId)
        {
            var searchParams = EntitySearchParameters.FromSearchString(searchString);

            Assert.IsTrue(searchParams.EntityId.HasValue);
            Assert.AreEqual(resultingId, searchParams.EntityId.Value.Id);
        }
 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);
     });
 }
        public void ApplySearch_does_not_throw_if_no_world()
        {
            var data = new EntityListData();

            Assert.DoesNotThrow(() => data.ApplySearch(EntitySearchParameters.FromSearchString("")));
        }
        [TestCase("9223372036854775808")] // Max long + 1
        public void FromSearchString_rejects_non_entity_id_values(string searchString)
        {
            var searchParams = EntitySearchParameters.FromSearchString(searchString);

            Assert.IsFalse(searchParams.EntityId.HasValue);
        }