public OpenGammaFudgeContext() { var javaMappingStrategy = new JavaTypeMappingStrategyWithInterfaces("OGDotNet.Mappedtypes", "com.opengamma"); var mappingStrategy = new MemoizingTypeMappingStrategy(javaMappingStrategy); SetProperty(ContextProperties.TypeMappingStrategyProperty, mappingStrategy); SetProperty(ContextProperties.FieldNameConventionProperty, FudgeFieldNameConvention.CamelCase); AddSecondaryTypes(TypeDictionary); _fudgeSurrogateSelector = new MemoizingFudgeSurrogateSelector(this); _logger.Debug("Forced references to {0} types", ForcedReferences.Length); _streamingBuilder = new StreamingFudgeBuilder(this); }
public void AssemblyLoadClears() { var memoizingTypeMappingStrategy = new MemoizingTypeMappingStrategy(new NullStrategy()); var name = new StringBuilder("SomeString").ToString(); Assert.NotSame(name, string.Intern(name)); var type = memoizingTypeMappingStrategy.GetType(name); Assert.Null(type); var weakName = new WeakReference(name); name = null; GC.Collect(); Assert.True(weakName.IsAlive); LoadAnAssembly(); GC.Collect(); Assert.False(weakName.IsAlive); }