public void FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingTypeShouldNotThrowAndFilterBoundOperationsWithNoParameters()
        {
            EdmEntityType aType = new EdmEntityType("N", "A");
            EdmAction     action = new EdmAction("namespace", "action", null, false, null);
            var           filteredResults = new IEdmOperation[] { action }.FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingType(aType).ToList();

            filteredResults.Should().HaveCount(0);
        }
        public void FilterByFullNameShouldReturnOneActionsWithCorrectNamespace()
        {
            EdmAction action = new EdmAction("namespace", "action", null);
            EdmAction action2 = new EdmAction("namespace2", "action", null);
            var       filteredResults = new IEdmOperation[] { action, action2 }.FilterByName(false, "namespace.action").ToList();

            filteredResults.Should().HaveCount(1);
            filteredResults[0].Should().Be(action);
        }
        public void FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingTypeShouldFilterReturnSameAType()
        {
            EdmEntityType aType  = new EdmEntityType("N", "A");
            EdmEntityType bType  = new EdmEntityType("N", "B", aType);
            EdmEntityType cType  = new EdmEntityType("N", "C", bType);
            EdmAction     action = new EdmAction("namespace", "action", null, true, null);

            action.AddParameter("bindingParameter", new EdmEntityTypeReference(cType, false));
            EdmAction action2 = new EdmAction("namespace", "action2", null, true, null);

            action2.AddParameter("bindingParameter", new EdmEntityTypeReference(aType, false));
            var filteredResults = new IEdmOperation[] { action, action2 }.FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingType(aType).ToList();

            filteredResults.Should().HaveCount(1);
            filteredResults[0].Should().BeSameAs(action2);
        }
 public void FilterByFullNameShouldReturnOneActionsWithCorrectNamespace()
 {
     EdmAction action = new EdmAction("namespace", "action", null);
     EdmAction action2 = new EdmAction("namespace2", "action", null);
     var filteredResults = new IEdmOperation[] { action, action2 }.FilterByName(false, "namespace.action").ToList();
     filteredResults.Should().HaveCount(1);
     filteredResults[0].Should().Be(action);
 }
 public void FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingTypeShouldFilterReturnTypeClosestToTypeA()
 {
     EdmEntityType aType = new EdmEntityType("N", "A");
     EdmEntityType bType = new EdmEntityType("N", "B", aType);
     EdmEntityType cType = new EdmEntityType("N", "C", bType);
     EdmAction action = new EdmAction("namespace", "action", null, true, null);
     action.AddParameter("bindingParameter", new EdmEntityTypeReference(aType, false));
     EdmAction action2 = new EdmAction("namespace", "action", null, true, null);
     action2.AddParameter("bindingParameter", new EdmEntityTypeReference(bType, false));
     var filteredResults = new IEdmOperation[] { action, action2 }.FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingType(cType).ToList();
     filteredResults.Should().HaveCount(1);
     filteredResults[0].Should().BeSameAs(action2);
 }
 public void FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingTypeShouldNotThrowAndFilterBoundOperationsWithNoParameters()
 {
     EdmEntityType aType = new EdmEntityType("N", "A");
     EdmAction action = new EdmAction("namespace", "action", null, false, null);
     var filteredResults = new IEdmOperation[] { action }.FilterBoundOperationsWithSameTypeHierarchyToTypeClosestToBindingType(aType).ToList();
     filteredResults.Should().HaveCount(0);
 }