Esempio n. 1
0
        public async Task Should_Create_With_Known_Format()
        {
            //arrange
            var testFormat = "Test_Format";

            await RunOnSTA(() =>
            {
                SysClipboard.Clear();
                SysClipboard.SetData(testFormat, "Test");
            });

            _formatsExtractor.Setup(x => x.Extract(It.IsAny <ClipboardTrigger>(), It.IsAny <IDataObject>())).Returns(new[] { new TestEquatableFormat(new ClipboardFormat(testFormat, testFormat, "Test", new ClipboardFormatCategory("Test Category", "Test"))) });
            _listenerMock.Setup(x => x.IsInterestedIn(It.IsAny <ClipboardObject>())).Returns(true);

            //act
            using (var sut = new ClipboardObjectsManager(_clipboardObjectManager.Object, new[] { _formatsExtractor.Object }, new[] { _clipboardFilter.Object }, _serviceProviderMock.Object))
            {
                sut.AddListener(_listenerMock.Object);
                sut.AddTriggerToQueue();

                await Task.Delay(100);
            }

            //assert
            _listenerMock.Verify(x => x.OnResolvedTrigger(It.IsAny <ResolvedClipboardTrigger>()), Times.Once());
            _listenerMock.Verify(x => x.IsInterestedIn(It.IsAny <ClipboardObject>()), Times.Once());

            _clipboardObjectManager.Verify(x => x.AddImplementationsAsync(It.IsAny <ClipboardObject>(), It.IsAny <IEnumerable <EqualtableFormat> >()), Times.Once());
        }
Esempio n. 2
0
        public async Task Should_Not_Create_ClipboardObject_If_Clipboard_Empty()
        {
            //arrange
            await RunOnSTA(() =>
            {
                SysClipboard.Clear();
            });

            //act
            using (var sut = new ClipboardObjectsManager(_clipboardObjectManager.Object, new[] { _formatsExtractor.Object }, new[] { _clipboardFilter.Object }, _serviceProviderMock.Object))
            {
                sut.AddListener(_listenerMock.Object);
                sut.AddTriggerToQueue();

                await Task.Delay(100);
            }

            //assert
            _listenerMock.Verify(x => x.OnResolvedTrigger(It.IsAny <ResolvedClipboardTrigger>()), Times.Never());
            _listenerMock.Verify(x => x.IsInterestedIn(It.IsAny <ClipboardObject>()), Times.Never());

            _clipboardObjectManager.Verify(x => x.AddImplementationsAsync(It.IsAny <ClipboardObject>(), It.IsAny <IEnumerable <EqualtableFormat> >()), Times.Never());
        }
Esempio n. 3
0
 public static void AddTriggerToQueue(this ClipboardObjectsManager sut, ClipboardTriggerType triggerType = null)
 {
     triggerType ??= new CustomClipboardTriggerType("Test", "Test");
     sut.ProcessClipboardTrigger(new ClipboardTrigger(triggerType, new ProgramInfo(Process.GetCurrentProcess()), new ProgramInfo(Process.GetCurrentProcess()), new WindowInfo("Test", "Test")));
 }