Exemplo n.º 1
0
            /// <exception cref="System.Exception"></exception>
            public virtual void Test()
            {
                if (CommonAndLocalConfigurationTestSuite.Subject() is IClientConfiguration)
                {
                    return;
                }
                IFileConfigurationProvider config     = ((IFileConfigurationProvider)Subject());
                IFileConfiguration         fileConfig = config.File;
                Config4Impl legacyConfig = Db4oLegacyConfigurationBridge.AsLegacy(config);

                fileConfig.BlockSize = 42;
                Assert.AreEqual(42, legacyConfig.BlockSize());
                fileConfig.DatabaseGrowthSize = 42;
                Assert.AreEqual(42, legacyConfig.DatabaseGrowthSize());
                fileConfig.DisableCommitRecovery();
                Assert.IsTrue(legacyConfig.CommitRecoveryDisabled());
                fileConfig.Freespace.DiscardSmallerThan(8);
                Assert.AreEqual(8, legacyConfig.DiscardFreeSpace());
                fileConfig.GenerateUUIDs = ConfigScope.Globally;
                Assert.AreEqual(ConfigScope.Globally, legacyConfig.GenerateUUIDs());
                fileConfig.GenerateCommitTimestamps = true;
                Assert.IsTrue(legacyConfig.GenerateCommitTimestamps().DefiniteYes());
                IStorage storageFactory = new FileStorage();

                fileConfig.Storage = storageFactory;
                Assert.AreSame(storageFactory, legacyConfig.Storage);
                Assert.AreSame(storageFactory, fileConfig.Storage);
                fileConfig.LockDatabaseFile = true;
                Assert.IsTrue(legacyConfig.LockFile());
                fileConfig.ReserveStorageSpace = 1024;
                Assert.AreEqual(1024, legacyConfig.ReservedStorageSpace());
                fileConfig.BlobPath = Path.GetTempPath();
                Assert.AreEqual(Path.GetTempPath(), legacyConfig.BlobPath());
                fileConfig.ReadOnly = true;
                Assert.IsTrue(legacyConfig.IsReadOnly());
                ICacheConfigurationProvider cacheProvider = ((ICacheConfigurationProvider)Subject
                                                                 ());
                ICacheConfiguration            cache = cacheProvider.Cache;
                IIdSystemConfigurationProvider idSystemConfigurationProvider = ((IIdSystemConfigurationProvider
                                                                                 )Subject());
                IIdSystemConfiguration idSystemConfiguration = idSystemConfigurationProvider.IdSystem;

                Assert.AreEqual(StandardIdSystemFactory.Default, legacyConfig.IdSystemType());
                idSystemConfiguration.UseStackedBTreeSystem();
                Assert.AreEqual(StandardIdSystemFactory.StackedBtree, legacyConfig.IdSystemType()
                                );
                idSystemConfiguration.UsePointerBasedSystem();
                Assert.AreEqual(StandardIdSystemFactory.PointerBased, legacyConfig.IdSystemType()
                                );
            }
        /// <exception cref="Db4objects.Db4o.Ext.OldFormatException"></exception>
        public static IEmbeddedObjectContainer OpenObjectContainer(IEmbeddedConfiguration
                                                                   config, string databaseFileName)
        {
            IConfiguration legacyConfig = Db4oLegacyConfigurationBridge.AsLegacy(config);

            Config4Impl.AssertIsNotTainted(legacyConfig);
            EmitDebugInfo();
            IEmbeddedObjectContainer oc = new IoAdaptedObjectContainer(legacyConfig, databaseFileName
                                                                       );

            ((EmbeddedConfigurationImpl)config).ApplyConfigurationItems(oc);
            Db4objects.Db4o.Internal.Messages.LogMsg(legacyConfig, 5, databaseFileName);
            return(oc);
        }
Exemplo n.º 3
0
            public virtual void Test()
            {
                ICommonConfigurationProvider config = ((ICommonConfigurationProvider)Subject());
                Config4Impl          legacy         = Db4oLegacyConfigurationBridge.AsLegacy(config);
                ICommonConfiguration common         = config.Common;

                common.ActivationDepth = 42;
                Assert.AreEqual(42, legacy.ActivationDepth());
                Assert.AreEqual(42, common.ActivationDepth);
                // TODO: assert
                common.Add(new _IConfigurationItem_41());
                TypeAlias alias = new TypeAlias("foo", "bar");

                common.AddAlias(alias);
                Assert.AreEqual("bar", legacy.ResolveAliasStoredName("foo"));
                Assert.AreEqual("foo", legacy.ResolveAliasRuntimeName("bar"));
                common.RemoveAlias(alias);
                Assert.AreEqual("foo", legacy.ResolveAliasStoredName("foo"));
                common.AllowVersionUpdates = false;
                Assert.IsFalse(legacy.AllowVersionUpdates());
                common.AutomaticShutDown = false;
                Assert.IsFalse(legacy.AutomaticShutDown());
                common.BTreeNodeSize = 42;
                Assert.AreEqual(42, legacy.BTreeNodeSize());
                common.Callbacks = false;
                Assert.AreEqual(CallBackMode.None, legacy.CallbackMode());
                common.CallConstructors = false;
                Assert.IsTrue(legacy.CallConstructors().DefiniteNo());
                common.DetectSchemaChanges = false;
                Assert.IsFalse(legacy.DetectSchemaChanges());
                DiagnosticCollector collector = new DiagnosticCollector();

                common.Diagnostic.AddListener(collector);
                IDiagnostic diagnostic = DummyDiagnostic();

                legacy.DiagnosticProcessor().OnDiagnostic(diagnostic);
                collector.Verify(new object[] { diagnostic });
                common.ExceptionsOnNotStorable = true;
                Assert.IsTrue(legacy.ExceptionsOnNotStorable());
                common.InternStrings = true;
                Assert.IsTrue(legacy.InternStrings());
                // TODO: assert
                common.MarkTransient("Foo");
                common.MessageLevel = 3;
                Assert.AreEqual(3, legacy.MessageLevel());
                IObjectClass objectClass = common.ObjectClass(typeof(CommonAndLocalConfigurationTestSuite.BaseConfigurationProviderTestUnit.Item
                                                                     ));

                objectClass.CascadeOnDelete(true);
                Assert.IsTrue(((Config4Class)legacy.ObjectClass(typeof(CommonAndLocalConfigurationTestSuite.BaseConfigurationProviderTestUnit.Item
                                                                       ))).CascadeOnDelete().DefiniteYes());
                Assert.IsTrue(((Config4Class)common.ObjectClass(typeof(CommonAndLocalConfigurationTestSuite.BaseConfigurationProviderTestUnit.Item
                                                                       ))).CascadeOnDelete().DefiniteYes());
                common.OptimizeNativeQueries = false;
                Assert.IsFalse(legacy.OptimizeNativeQueries());
                Assert.IsFalse(common.OptimizeNativeQueries);
                common.Queries.EvaluationMode(QueryEvaluationMode.Lazy);
                Assert.AreEqual(QueryEvaluationMode.Lazy, legacy.EvaluationMode());
                // TODO: test reflectWith()
                // TODO: this probably won't sharpen :/
                TextWriter outStream = Sharpen.Runtime.Out;

                common.OutStream = outStream;
                Assert.AreEqual(outStream, legacy.OutStream());
                IStringEncoding stringEncoding = new _IStringEncoding_113();

                common.StringEncoding = stringEncoding;
                Assert.AreEqual(stringEncoding, legacy.StringEncoding());
                common.TestConstructors = false;
                Assert.IsFalse(legacy.TestConstructors());
                common.TestConstructors = true;
                Assert.IsTrue(legacy.TestConstructors());
                common.UpdateDepth = 1024;
                Assert.AreEqual(1024, legacy.UpdateDepth());
                common.WeakReferences = false;
                Assert.IsFalse(legacy.WeakReferences());
                common.WeakReferenceCollectionInterval = 1024;
                Assert.AreEqual(1024, legacy.WeakReferenceCollectionInterval());
            }