private static void CorrectClassMetadataOn(ITypeHandler4 typeHandler, ClassMetadata classMetadata) { if (typeHandler is StandardReferenceTypeHandler) { StandardReferenceTypeHandler handler = (StandardReferenceTypeHandler)typeHandler; handler.ClassMetadata(classMetadata); } }
public virtual void TestCorrectHandlerVersion() { OpenTypeHandler openTypeHandler = new OpenTypeHandler(Container()); AssertCorrectedHandlerVersion(typeof(OpenTypeHandler0), openTypeHandler, -1); AssertCorrectedHandlerVersion(typeof(OpenTypeHandler0), openTypeHandler, 0); AssertCorrectedHandlerVersion(typeof(OpenTypeHandler2), openTypeHandler, 1); AssertCorrectedHandlerVersion(typeof(OpenTypeHandler2), openTypeHandler, 2); AssertCorrectedHandlerVersion(typeof(OpenTypeHandler), openTypeHandler, HandlerRegistry .HandlerVersion); AssertCorrectedHandlerVersion(typeof(OpenTypeHandler), openTypeHandler, HandlerRegistry .HandlerVersion + 1); StandardReferenceTypeHandler stdReferenceHandler = new StandardReferenceTypeHandler (ItemClassMetadata()); AssertCorrectedHandlerVersion(typeof(StandardReferenceTypeHandler0), stdReferenceHandler , 0); AssertCorrectedHandlerVersion(typeof(StandardReferenceTypeHandler), stdReferenceHandler , 2); PrimitiveTypeMetadata primitiveMetadata = new PrimitiveTypeMetadata(Container(), openTypeHandler, 0, null); AssertPrimitiveHandlerDelegate(typeof(OpenTypeHandler0), primitiveMetadata, 0); AssertPrimitiveHandlerDelegate(typeof(OpenTypeHandler2), primitiveMetadata, 1); AssertPrimitiveHandlerDelegate(typeof(OpenTypeHandler2), primitiveMetadata, 2); AssertPrimitiveHandlerDelegate(typeof(OpenTypeHandler), primitiveMetadata, HandlerRegistry .HandlerVersion); ArrayHandler arrayHandler = new ArrayHandler(openTypeHandler, false); AssertCorrectedHandlerVersion(typeof(ArrayHandler0), arrayHandler, 0); AssertCorrectedHandlerVersion(typeof(ArrayHandler1), arrayHandler, 1); AssertCorrectedHandlerVersion(typeof(ArrayHandler3), arrayHandler, 2); AssertCorrectedHandlerVersion(typeof(ArrayHandler3), arrayHandler, 3); AssertCorrectedHandlerVersion(typeof(ArrayHandler), arrayHandler, HandlerRegistry .HandlerVersion); ArrayHandler multidimensionalArrayHandler = new MultidimensionalArrayHandler(openTypeHandler , false); AssertCorrectedHandlerVersion(typeof(MultidimensionalArrayHandler0), multidimensionalArrayHandler , 0); AssertCorrectedHandlerVersion(typeof(MultidimensionalArrayHandler3), multidimensionalArrayHandler , 1); AssertCorrectedHandlerVersion(typeof(MultidimensionalArrayHandler3), multidimensionalArrayHandler , 2); AssertCorrectedHandlerVersion(typeof(MultidimensionalArrayHandler3), multidimensionalArrayHandler , 3); AssertCorrectedHandlerVersion(typeof(MultidimensionalArrayHandler), multidimensionalArrayHandler , HandlerRegistry.HandlerVersion); }