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);
        }
Exemple #2
0
        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);
        }