public void MapDerivedTypes_BringsAllDerivedTypes_InTheAssembly() { var mockType1 = new MockType("FooBar"); var mockType2 = new MockType("Foo").BaseType(mockType1); var mockType3 = new MockType("Fo").BaseType(mockType2); var mockType4 = new MockType("Bar").BaseType(mockType1); var mockAssembly = new MockAssembly(mockType1, mockType2, mockType3, mockType4); HttpConfiguration configuration = new HttpConfiguration(); configuration.Services.Replace(typeof(IAssembliesResolver), new TestAssemblyResolver(mockAssembly)); var builder = new ODataConventionModelBuilder(configuration); var entity1 = builder.AddEntity(mockType1); builder.MapDerivedTypes(entity1); Assert.Equal( new[] { "FooBar", "Foo", "Fo", "Bar" }.OrderBy(name => name), builder.StructuralTypes.Select(t => t.Name).OrderBy(name => name)); }