Exemplo n.º 1
0
        public void ReturnsDataPresentForDataHasBeenSet()
        {
            var connected = new object();

            var key1 = new ConnectedDragDropKey <Type>();
            var key2 = new ConnectedDragDropKey <Assembly>();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);

            dragDrop.SetData(key1, typeof(ConnectedDragDropTests));
            dragDrop.SetData(key2, typeof(ConnectedDragDropTests).Assembly);

            Assert.IsTrue(dragDrop.GetDataPresent(key1));
            Assert.IsTrue(dragDrop.GetDataPresent(key2));
        }
Exemplo n.º 2
0
        public void SetsMultipleFormatData()
        {
            var connected = new object();

            var key1 = new ConnectedDragDropKey <Type>();
            var key2 = new ConnectedDragDropKey <Assembly>();

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            dragDrop.Drag(connected);

            dragDrop.SetData(key1, typeof(ConnectedDragDropTests));
            dragDrop.SetData(key2, typeof(ConnectedDragDropTests).Assembly);

            Assert.AreSame(typeof(ConnectedDragDropTests), dragDrop.GetData(key1));
            Assert.AreSame(typeof(ConnectedDragDropTests).Assembly, dragDrop.GetData(key2));
        }
Exemplo n.º 3
0
        public void ThrowsExceptionWhenSettingDataWhileNotDragging()
        {
            var key  = new ConnectedDragDropKey <Type>();
            var data = typeof(ConnectedDragDropTests);

            var dragDrop = new ConnectedDragDrop(this._uriDisconnectTable);

            ExceptionAssert.Throws <InvalidOperationException>(() => dragDrop.SetData(key, data));
        }
Exemplo n.º 4
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();
        }
Exemplo n.º 5
0
        public void DisposesDataOnDisconnect()
        {
            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);

            IUriPlacementConnector dragDropConnector = dragDrop;

            dragDropConnector.Disconnect(connected);

            disposable1.Received(1).Dispose();
            disposable2.Received(1).Dispose();
        }