public bool VerifyAddManagedObjectNonActiveResident()
        {
            try
            {
                var manager = GetManager();
                if (manager == null)
                {
                    return(false);
                }

                manager.Clear();

                var objId = Guid.NewGuid();
                var obj   = TestDrawingObject.CreateNonActiveObject(objId);
                manager.Add(obj);

                return(false);
            }
            catch (ArgumentException e)
            {
                return(e.Message == "Drawing object not active.");
            }
            catch (Exception)
            {
                return(false);
            }
        }
        private static void SetupObjects(TestDrawingObjectManager manager)
        {
            if (manager == null)
            {
                throw new ArgumentException("No manager.");
            }

            manager.Clear();

            if (manager.ManagedObjects.Count != 0)
            {
                throw new ArgumentException("Objects not cleared.");
            }

            var objId1 = Guid.NewGuid();
            var objId2 = Guid.NewGuid();

            var obj1 = TestDrawingObject.CreateActiveObject(objId1);
            var obj2 = TestDrawingObject.CreateActiveObject(objId2);

            manager.Add(obj1);
            manager.Add(obj2);

            if (manager.ManagedObjects.Count != 2)
            {
                throw new ArgumentException("Incorrect count of objects.");
            }
        }
示例#3
0
        public bool VerifyTestGetBaseWithPointerResident()
        {
            try
            {
                var obj = new TestDrawingObject();

                ObjectId objId;
                var      db = Application.DocumentManager.MdiActiveDocument.Database;
                using (var tr = db.TransactionManager.StartTransaction())
                {
                    var blockTable       = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
                    var blockTableRecord = (BlockTableRecord)tr.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite);

                    var line = new Line(new Point3d(0, 0, 0), new Point3d(3, 3, 0));

                    objId = blockTableRecord.AppendEntity(line);
                    tr.AddNewlyCreatedDBObject(line, true);

                    tr.Commit();
                }

                using (var tr = db.TransactionManager.StartTransaction())
                {
                    obj.BaseObject = objId;
                    tr.Commit();
                }

                return(obj.BaseObjectPtr == objId.Handle.Value);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public bool VerifyAddManagedObjectActive_ActiveListResident()
        {
            using (Transaction trans = Application.DocumentManager
                                       .MdiActiveDocument.TransactionManager.StartTransaction())
            {
                try
                {
                    var manager = GetManager();
                    if (manager == null)
                    {
                        return(false);
                    }

                    manager.Clear();

                    var objId = Guid.NewGuid();
                    var obj   = TestDrawingObject.CreateActiveObject(objId);
                    manager.Add(obj);

                    return(manager.ActiveObjects.Count == 1);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
示例#5
0
        public bool VerifyAdditionResident()
        {
            try
            {
                Document       doc      = Application.DocumentManager.MdiActiveDocument;
                IReviewManager reviewer = CoreExtensionApplication._current.Container.GetRequiredService <IReviewManager>();
                DataService    data     = DataService.Current;
                data.PopulateStoreTypes();

                int startingItemCount = reviewer.GetUnverified(doc).Count();

                TestDocumentStore        testDocumentStore = data.GetStore <TestDocumentStore>(doc.Name);
                TestDrawingObjectManager objectManager     = testDocumentStore.GetManager <TestDrawingObjectManager>();

                objectManager.Add(TestDrawingObject.CreateActiveObject(Guid.NewGuid()));

                reviewer.Refresh(doc);
                int endItemCount = reviewer.GetUnverified(doc).Count();

                int difference = (endItemCount - startingItemCount);
                return(difference == 1);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#6
0
        public bool VerifyTestModifyObjectResident()
        {
            try
            {
                var obj = TestDrawingObject.CreateActiveObject(Guid.NewGuid());

                if (obj.DirtyModified)
                {
                    return(false);
                }

                var acCurDb = Application.DocumentManager.MdiActiveDocument.Database;
                using (var trans = acCurDb.TransactionManager.StartTransaction())
                {
                    var curve = trans.GetObject(obj.BaseObject, OpenMode.ForWrite) as Curve;
                    if (curve != null)
                    {
                        curve.StartPoint = new Point3d(1, 1, 1);
                    }
                    trans.Commit();
                }

                return(obj.DirtyModified);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#7
0
        public bool VerifyTestEraseObjectResident()
        {
            try
            {
                var obj = TestDrawingObject.CreateActiveObject(Guid.NewGuid());

                if (obj.DirtyRemoved)
                {
                    return(false);
                }

                var acCurDb = Application.DocumentManager.MdiActiveDocument.Database;
                using (var trans = acCurDb.TransactionManager.StartTransaction())
                {
                    var entity = trans.GetObject(obj.BaseObject, OpenMode.ForWrite) as Entity;
                    entity?.Erase();
                    trans.Commit();
                }

                return(obj.DirtyRemoved);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#8
0
 public bool VerifyCreateActiveObjectInvalidResident()
 {
     try
     {
         var obj = new TestDrawingObject()
         {
             BaseObjectPtr = long.MaxValue
         };
         return(!obj.CreateActiveObject());
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#9
0
        public bool VerifyTestManagerSaveLoadManagedObjectResident()
        {
            using (Transaction trans = Application.DocumentManager
                                       .MdiActiveDocument.TransactionManager.StartTransaction())
            {
                try
                {
                    var ds = DataService.Current;
                    ds.InvalidateStoreTypes();

                    var store   = ds.GetStore <TestDocumentStore>(Application.DocumentManager.MdiActiveDocument.Name);
                    var manager = store?.GetManager <TestDrawingObjectManager>();

                    if (manager == null)
                    {
                        return(false);
                    }

                    var objId = Guid.NewGuid();
                    var obj   = TestDrawingObject.CreateActiveObject(objId);
                    manager.Add(obj);

                    store.SaveWrapper();
                    store.LoadWrapper();

                    manager = store.GetManager <TestDrawingObjectManager>();
                    if (manager == null)
                    {
                        return(false);
                    }

                    var objCount = manager.ManagedObjects.Count;
                    if (objCount != 1)
                    {
                        return(false);
                    }

                    return(manager.ManagedObjects.First().BaseGuid == objId);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
示例#10
0
        public bool VerifyTestGetBaseNoPointerResident()
        {
            try
            {
                var obj = new TestDrawingObject();
                if (obj.BaseObjectPtr != 0)
                {
                    return(false);
                }

                var unused = obj.BaseObject;
                return(false);
            }
            catch (NullReferenceException e)
            {
                return(e.Message == "No base object has been linked");
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public bool VerifyAddManagedObjectActive_ManagedListResident()
        {
            try
            {
                var manager = GetManager();
                if (manager == null)
                {
                    return(false);
                }

                manager.Clear();

                var objId = Guid.NewGuid();
                var obj   = TestDrawingObject.CreateActiveObject(objId);
                manager.Add(obj);

                return(manager.ManagedObjects.Count == 1);
            }
            catch (Exception)
            {
                return(false);
            }
        }