Beispiel #1
0
        public void RegistersTargetConnectorInUriDisconnectTableOnDrop()
        {
            var connected       = new object();
            var targetConnector = Substitute.For <IUriPlacementConnector>();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);
            dragDrop.Drop(targetConnector);

            this._uriDisconnectTable.Received(1)[connected] = targetConnector;
        }
Beispiel #2
0
        public void ConnectsToTargetPlacementConnectorOnDrop()
        {
            var connected       = new object();
            var targetConnector = Substitute.For <IUriPlacementConnector>();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);
            dragDrop.Drop(targetConnector);

            targetConnector.Received(1).Connect(connected);
        }
Beispiel #3
0
        public void IsDraggingReturnsFalseAfterDrop()
        {
            var connected = new object();
            var connector = Substitute.For <IUriPlacementConnector>();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);
            dragDrop.Drop(connector);

            Assert.IsFalse(dragDrop.IsDragging(connected));
            Assert.IsFalse(dragDrop.IsActive);
        }
Beispiel #4
0
        public void IsDraggingReturnsTrueBeforeConnectToTargetPlacementConnector()
        {
            var connected       = new object();
            var targetConnector = Substitute.For <IUriPlacementConnector>();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);

            targetConnector
            .When(_ => _.Connect(connected))
            .Do(args => Assert.IsTrue(dragDrop.IsDragging(args[0])));

            dragDrop.Drop(targetConnector);
        }
Beispiel #5
0
        public void DoNotDisposesDataOnDrop()
        {
            var connected = new object();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);

            var key1 = new ConnectedDragDropKey <IDisposable>();
            var key2 = new ConnectedDragDropKey <IContainer>();

            var disposable1 = Substitute.For <IDisposable>();
            var disposable2 = Substitute.For <IContainer>();

            dragDrop.SetData(key1, disposable1);
            dragDrop.SetData(key2, disposable2);

            var targetConnector = Substitute.For <IUriPlacementConnector>();

            dragDrop.Drop(targetConnector);

            disposable1.DidNotReceive().Dispose();
            disposable2.DidNotReceive().Dispose();
        }