public void MarkChangedHasNoEffectIfModelIsNew()
        {
            var viewGuid1  = SerializableGUID.Generate();
            var state      = new GraphToolState(viewGuid1, null);
            var dummyModel = new TestNodeModel();

            using (var graphUpdater = state.GraphViewState.UpdateScope)
            {
                graphUpdater.MarkNew(dummyModel);
            }

            var changes = state.GraphViewState.GetAggregatedChangeset(0);

            Assert.IsTrue(changes.NewModels.Contains(dummyModel));

            using (var graphUpdater = state.GraphViewState.UpdateScope)
            {
                graphUpdater.MarkChanged(dummyModel);
            }

            changes = state.GraphViewState.GetAggregatedChangeset(0);
            Assert.IsFalse(changes.ChangedModels.Contains(dummyModel));
        }
        public void MarkDeletedRemovesModelFromTheChangedList()
        {
            var viewGuid1  = SerializableGUID.Generate();
            var state      = new GraphToolState(viewGuid1, null);
            var dummyModel = new TestNodeModel();

            using (var graphUpdater = state.GraphViewState.UpdateScope)
            {
                graphUpdater.MarkChanged(dummyModel);
            }

            var changes = state.GraphViewState.GetAggregatedChangeset(0);

            Assert.IsTrue(changes.ChangedModels.Contains(dummyModel));

            using (var graphUpdater = state.GraphViewState.UpdateScope)
            {
                graphUpdater.MarkDeleted(dummyModel);
            }

            changes = state.GraphViewState.GetAggregatedChangeset(0);
            Assert.IsFalse(changes.ChangedModels.Contains(dummyModel));
            Assert.IsTrue(changes.DeletedModels.Contains(dummyModel));
        }