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); }
public Task Filter(HttpRequest request, HttpResponse response) { return(SkipFailed(() => { if (!_filterProcessor.Process(response, request.Query)) { response.StatusCode = 400; } }, response, _groupsPreprocessor.IndexRemoved)); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }