public void ComplexType_ThisAndBaseTypes_ReturnsThisType()
        {
            // Arrange
            ODataModelBuilder        builder          = GetMockVehicleModel();
            ComplexTypeConfiguration sportbikeAddress = builder.StructuralTypes
                                                        .OfType <ComplexTypeConfiguration>().Where(e => e.Name == "SportbikeAddress").Single();

            // Act & Assert
            Assert.Contains(sportbikeAddress, sportbikeAddress.ThisAndBaseTypes());
        }
        public void ComplexType_ThisAndBaseTypes_ReturnsAllTheBaseTypes()
        {
            // Arrange
            ODataModelBuilder builder = GetMockVehicleModel();

            ComplexTypeConfiguration address = builder.StructuralTypes
                                               .OfType <ComplexTypeConfiguration>().Single(e => e.Name == "Address");
            ComplexTypeConfiguration motorcycleAddress = builder.StructuralTypes
                                                         .OfType <ComplexTypeConfiguration>().Single(e => e.Name == "MotorcycleAddress");
            ComplexTypeConfiguration sportbikeAddress = builder.StructuralTypes
                                                        .OfType <ComplexTypeConfiguration>().Single(e => e.Name == "SportbikeAddress");

            // Act
            IEnumerable <StructuralTypeConfiguration> thisAndBaseTypes = sportbikeAddress.ThisAndBaseTypes();

            // Assert
            Assert.Contains(address, thisAndBaseTypes);
            Assert.Contains(motorcycleAddress, thisAndBaseTypes);
            Assert.Contains(sportbikeAddress, thisAndBaseTypes);
        }