/// <exception cref="System.Exception"></exception>
        public virtual void TestRemoveArrayField()
        {
            RemoveArrayFieldTestCase.DataBefore dataA = new RemoveArrayFieldTestCase.DataBefore
                                                            ("a", true, new object[] { "X" });
            RemoveArrayFieldTestCase.DataBefore dataB = new RemoveArrayFieldTestCase.DataBefore
                                                            ("b", false, new object[0]);
            Store(dataA);
            Store(dataB);
            IObjectClass oc = Fixture().Config().ObjectClass(typeof(RemoveArrayFieldTestCase.DataBefore
                                                                    ));

            // we must use ReflectPlatform here as the string must include
            // the assembly name in .net
            oc.Rename(CrossPlatformServices.FullyQualifiedName(typeof(RemoveArrayFieldTestCase.DataAfter
                                                                      )));
            Reopen();
            IQuery query = NewQuery(typeof(RemoveArrayFieldTestCase.DataAfter));

            query.Descend("name").Constrain("a");
            IObjectSet result = query.Execute();

            Assert.AreEqual(1, result.Count);
            RemoveArrayFieldTestCase.DataAfter data = (RemoveArrayFieldTestCase.DataAfter)result
                                                      .Next();
            Assert.AreEqual(dataA.name, data.name);
            Assert.AreEqual(dataA.status, data.status);
        }
        /// <exception cref="System.Exception"></exception>
        public virtual void Test()
        {
            Store(new ClassRenameByConfigTestCase.Original("original"));
            Db().Commit();
            Assert.AreEqual(1, CountOccurences(typeof(ClassRenameByConfigTestCase.Original)));
            // Rename messages are visible at level 1
            // fixture().config().messageLevel(1);
            IObjectClass oc = Fixture().Config().ObjectClass(typeof(ClassRenameByConfigTestCase.Original
                                                                    ));

            // allways rename fields first
            oc.ObjectField("originalName").Rename("changedName");
            // we must use ReflectPlatform here as the string must include
            // the assembly name in .net
            oc.Rename(CrossPlatformServices.FullyQualifiedName(typeof(ClassRenameByConfigTestCase.Changed
                                                                      )));
            Reopen();
            Assert.AreEqual(0, CountOccurences(typeof(ClassRenameByConfigTestCase.Original)));
            Assert.AreEqual(1, CountOccurences(typeof(ClassRenameByConfigTestCase.Changed)));
            ClassRenameByConfigTestCase.Changed changed = (ClassRenameByConfigTestCase.Changed
                                                           )((ClassRenameByConfigTestCase.Changed)RetrieveOnlyInstance(typeof(ClassRenameByConfigTestCase.Changed
                                                                                                                              )));
            Assert.AreEqual("original", changed.changedName);
        }