Ejemplo n.º 1
0
        public void NullOrEmptyFilterIsSkipped()
        {
            var filter = new FilterProcessor(TestData, new string[] { "*", null, "" });

            var result = filter.Process <TestObject>();

            Assert.AreEqual(result.Property1, "1");
            Assert.AreEqual(result.SubObject.Property2, "S2");
            Assert.AreEqual(result.SubObject.SubObject.Property3, 3);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 2
0
 public Task Filter(HttpRequest request, HttpResponse response)
 {
     return(SkipFailed(() => {
         if (!_filterProcessor.Process(response, request.Query))
         {
             response.StatusCode = 400;
         }
     },
                       response,
                       _groupsPreprocessor.IndexRemoved));
 }
Ejemplo n.º 3
0
        public void Serialization()
        {
            var filters = new[] { "*" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = (TestObject)filter.Process();

            Assert.AreEqual(result.Property1, "1");
            Assert.AreEqual(result.SubObject.Property2, "S2");
            Assert.AreEqual(3, result.SubObject.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 4
0
        public void Wildcard()
        {
            var filters = new[] { "*" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = filter.Process <TestObject>();

            Assert.AreEqual(result.Property1, "1");
            Assert.AreEqual(result.SubObject.Property2, "S2");
            Assert.AreEqual(result.SubObject.SubObject.Property3, 3);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 5
0
        public void SingleProperty()
        {
            var filters = new[] { "Property1" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = filter.Process <TestObject>();

            Assert.AreEqual("1", result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.IsNull(result.SubObject);
        }
Ejemplo n.º 6
0
        public void MultipleSubPropertiesWithSubSelect()
        {
            var filters = new[] { "*", "SubObject(Property1,Property2)" };
            var filter = new FilterProcessor(TestData, filters);

            var result = filter.Process<TestObject>();
            Assert.AreEqual("1", result.Property1);
            Assert.AreEqual("2", result.Property2);
            Assert.AreEqual(3, result.Property3);
            Assert.AreEqual("S1", result.SubObject.Property1);
            Assert.AreEqual("S2", result.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject);
        }
Ejemplo n.º 7
0
        public void MultipleSubPropertiesWithSubSelect()
        {
            var filters = new[] { "*", "SubObject(Property1,Property2)" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = filter.Process <TestObject>();

            Assert.AreEqual("1", result.Property1);
            Assert.AreEqual("2", result.Property2);
            Assert.AreEqual(3, result.Property3);
            Assert.AreEqual("S1", result.SubObject.Property1);
            Assert.AreEqual("S2", result.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject);
        }
Ejemplo n.º 8
0
        public void MultipleProperties()
        {
            var filters = new[] { "Property1", "SubObject/Property2", "SubObject/SubObject/Property3" };
            var filter = new FilterProcessor(TestData, filters);

            var result = filter.Process<TestObject>();
            Assert.AreEqual("1", result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.AreEqual("S2", result.SubObject.Property2);
            Assert.IsNull(result.SubObject.Property1);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.AreEqual(3, result.SubObject.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject.Property1);
            Assert.IsNull(result.SubObject.SubObject.Property2);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 9
0
        public void NestedSubProperties()
        {
            var filters = new[] { "Property1", "SubObject/SubObject(Property1,Property2)" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = filter.Process <TestObject>();

            Assert.AreEqual("1", result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.IsNull(result.SubObject.Property1);
            Assert.IsNull(result.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.AreEqual("SS1", result.SubObject.SubObject.Property1);
            Assert.AreEqual("SS2", result.SubObject.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.SubObject.Property3);
        }
Ejemplo n.º 10
0
        public void SubElementsWithWildcard()
        {
            var filters = new[] { "SubObject/*", "SubObject/SubObject/Property1" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = filter.Process <TestObject>();

            Assert.IsNull(result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.AreEqual("S1", result.SubObject.Property1);
            Assert.AreEqual("S2", result.SubObject.Property2);
            Assert.AreEqual(3, result.SubObject.Property3);
            Assert.AreEqual("SS1", result.SubObject.SubObject.Property1);
            Assert.IsNull(result.SubObject.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.SubObject.Property3);
        }
Ejemplo n.º 11
0
        public void MultipleProperties()
        {
            var filters = new[] { "Property1", "SubObject/Property2", "SubObject/SubObject/Property3" };
            var filter  = new FilterProcessor(TestData, filters);

            var result = filter.Process <TestObject>();

            Assert.AreEqual("1", result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.AreEqual("S2", result.SubObject.Property2);
            Assert.IsNull(result.SubObject.Property1);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.AreEqual(3, result.SubObject.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject.Property1);
            Assert.IsNull(result.SubObject.SubObject.Property2);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 12
0
        public void NullOrEmptyFilterIsSkipped()
        {
            var filter = new FilterProcessor(TestData, new string[] { "*", null, "" });

            var result = filter.Process<TestObject>();
            Assert.AreEqual(result.Property1, "1");
            Assert.AreEqual(result.SubObject.Property2, "S2");
            Assert.AreEqual(result.SubObject.SubObject.Property3, 3);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 13
0
        public void SingleSubProperty()
        {
            var filters = new[] { "SubObject/Property1" };
            var filter = new FilterProcessor(TestData, filters);

            var result = filter.Process<TestObject>();
            Assert.IsNull(result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.AreEqual("S1", result.SubObject.Property1);
            Assert.IsNull(result.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject);
        }
Ejemplo n.º 14
0
        public void SubElementsWithWildcard()
        {
            var filters = new[] { "SubObject/*", "SubObject/SubObject/Property1" };
            var filter = new FilterProcessor(TestData, filters);

            var result = filter.Process<TestObject>();
            Assert.IsNull(result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.AreEqual("S1", result.SubObject.Property1);
            Assert.AreEqual("S2", result.SubObject.Property2);
            Assert.AreEqual(3, result.SubObject.Property3);
            Assert.AreEqual("SS1", result.SubObject.SubObject.Property1);
            Assert.IsNull(result.SubObject.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.SubObject.Property3);
        }
Ejemplo n.º 15
0
        public void Wildcard()
        {
            var filters = new[] { "*" };
            var filter = new FilterProcessor(TestData, filters);

            var result = filter.Process<TestObject>();
            Assert.AreEqual(result.Property1, "1");
            Assert.AreEqual(result.SubObject.Property2, "S2");
            Assert.AreEqual(result.SubObject.SubObject.Property3, 3);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }
Ejemplo n.º 16
0
        public void NestedSubProperties()
        {
            var filters = new[] { "Property1", "SubObject/SubObject(Property1,Property2)" };
            var filter = new FilterProcessor(TestData, filters);

            var result = filter.Process<TestObject>();
            Assert.AreEqual("1", result.Property1);
            Assert.IsNull(result.Property2);
            Assert.AreEqual(0, result.Property3);
            Assert.IsNull(result.SubObject.Property1);
            Assert.IsNull(result.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.Property3);
            Assert.AreEqual("SS1", result.SubObject.SubObject.Property1);
            Assert.AreEqual("SS2", result.SubObject.SubObject.Property2);
            Assert.AreEqual(0, result.SubObject.SubObject.Property3);
        }
Ejemplo n.º 17
0
        public void Serialization()
        {
            var filters = new[] { "*" };
            var filter = new FilterProcessor(TestData, filters);

            var result = (TestObject)filter.Process();
            Assert.AreEqual(result.Property1, "1");
            Assert.AreEqual(result.SubObject.Property2, "S2");
            Assert.AreEqual(3, result.SubObject.SubObject.Property3);
            Assert.IsNull(result.SubObject.SubObject.SubObject);
        }