public void GetFiltersWithOptions_ReturnsExpectedResults()
        {
            var filter = new BasicTestEntityFilter
            {
                Ids  = new[] { 1, 2, 3 },
                Name = "Test"
            };

            var options = new RequestOptions()
            {
                IncludeSupplementalData = false,
                Page    = 7,
                PerPage = 23
            };

            Dictionary <string, string> filterPairs = filter.GetFiltersWithOptions(options);

            const int expectedFilterPairCount = 5;

            Assert.AreEqual(expectedFilterPairCount, filterPairs.Count, $"Expected {expectedFilterPairCount} filter pairs.");

            Assert.AreEqual("1,2,3", filterPairs["ids"]);
            Assert.AreEqual("Test", filterPairs["name"]);
            Assert.AreEqual("no", filterPairs["supplemental_data"]);
            Assert.AreEqual("7", filterPairs["page"]);
            Assert.AreEqual("23", filterPairs["per_page"]);
        }
        public void ReportRequest_IsCorrectlyInitialized()
        {
            var filter = new BasicTestEntityFilter
            {
                Ids  = new[] { 1, 2, 3 },
                Name = "test"
            };

            var reportRequest = new ReportRequest(filter);

            int expectedCount = 2;

            Assert.AreEqual(expectedCount, reportRequest.Data.Count, $"Exected {expectedCount} filter items.");
        }
        private static GetContext <BasicTestEntity> GetContext()
        {
            var filter = new BasicTestEntityFilter
            {
                Ids  = new[] { 1, 2, 3 },
                Name = "B*"
            };

            var options = new RequestOptions
            {
                AutoPaging = true,
                IncludeSupplementalData = false,
                Page    = 1,
                PerPage = 10
            };

            return(new GetContext <BasicTestEntity>(EndpointName.Tests, filter, options));
        }
        public void GetFiltersWithOptions_ThrowsWhenOptionsIsNull()
        {
            var filter = new BasicTestEntityFilter();

            Assert.ThrowsException <ArgumentNullException>(() => filter.GetFiltersWithOptions(null));
        }