public void TakeValueIsConfiguredPageSize()
            {
                // Arrange
                var configMaxPageSize     = 60;
                var configDefaultPageSize = 20;
                var expected = configDefaultPageSize;
                var sut      = new PageSpecParams();

                sut.ApplyConfigurationDefaults(configMaxPageSize, configDefaultPageSize);

                // Act
                var actual = sut.Take;

                // Assert
                Assert.AreEqual(expected, actual);
            }
            public void ConfigurationDefaultPageSizeOverridesHardCodedValue()
            {
                // Arrange
                var configDefaultPageSize = 15;
                var configMaxPageSize     = 40;
                var expected = configDefaultPageSize;
                var sut      = new PageSpecParams();

                sut.ApplyConfigurationDefaults(configMaxPageSize, configDefaultPageSize);

                // Act
                var actual = sut.PageSize;

                // Assert
                Assert.AreEqual(expected, actual);
            }
            public void SetPageSizeCanNotOverridesConfigurationMaxPageSize()
            {
                // Arrange
                var testPageSize          = 45;
                var configDefaultPageSize = 15;
                var configMaxPageSize     = 40;
                var expected = configMaxPageSize;
                var sut      = new PageSpecParams();

                sut.PageSize = testPageSize;
                sut.ApplyConfigurationDefaults(configMaxPageSize, configDefaultPageSize);

                // Act
                var actual = sut.PageSize;

                // Assert
                Assert.AreEqual(expected, actual);
            }
        protected void SetConfiguredPageDefaults(PageSpecParams pageParams)
        {
            if (_config == null)
            {
                return;
            }

            if (!int.TryParse(_config["Pagination:MaxPageSize"], out int maxPageSize))
            {
                maxPageSize = 50;
            }

            if (!int.TryParse(_config["Pagination:DefaultPageSize"], out int defaultPageSize))
            {
                defaultPageSize = 10;
            }

            pageParams.ApplyConfigurationDefaults(maxPageSize, defaultPageSize);
        }