public void TriggerQueueView_SetItem()
        {
            var mockServer = new Mock <IServer>();

            var resourceId          = Guid.NewGuid();
            var queueSinkResourceId = Guid.NewGuid();

            var mockOption = new Mock <IOption>();
            var option     = new OptionViewForTesting(mockOption.Object);
            var mockInputs = new Mock <ICollection <IServiceInputBase> >();

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                QueueSourceId = resourceId,
                QueueName     = "Queue",
                WorkflowName  = "Workflow",
                Concurrency   = 100,
                UserName      = "******",
                Password      = "******",
                Options       = new ObservableCollection <OptionView> {
                    option
                },
                QueueSinkId       = queueSinkResourceId,
                DeadLetterQueue   = "DeadLetterQueue",
                DeadLetterOptions = new ObservableCollection <OptionView> {
                    option
                },
                Inputs = mockInputs.Object
            };

            triggerQueueView.SetItem();

            Assert.AreEqual(triggerQueueView.QueueSourceId, triggerQueueView.Item.QueueSourceId);
            Assert.AreEqual(triggerQueueView.QueueName, triggerQueueView.Item.QueueName);
            Assert.AreEqual(triggerQueueView.WorkflowName, triggerQueueView.Item.WorkflowName);
            Assert.AreEqual(triggerQueueView.Concurrency, triggerQueueView.Item.Concurrency);
            Assert.AreEqual(triggerQueueView.UserName, triggerQueueView.Item.UserName);
            Assert.AreEqual(triggerQueueView.Password, triggerQueueView.Item.Password);
            Assert.AreEqual(triggerQueueView.Options.Count, triggerQueueView.Item.Options.Count);
            Assert.AreEqual(triggerQueueView.QueueSinkId, triggerQueueView.Item.QueueSinkId);
            Assert.AreEqual(triggerQueueView.DeadLetterQueue, triggerQueueView.Item.DeadLetterQueue);
            Assert.AreEqual(triggerQueueView.DeadLetterOptions.Count, triggerQueueView.Item.DeadLetterOptions.Count);
            Assert.AreEqual(triggerQueueView.Inputs.Count, triggerQueueView.Item.Inputs.Count);
        }
        public void TriggerQueueView_Equals_MisMatch_Expect_False()
        {
            var mockServer = new Mock <IServer>();

            var resourceId          = Guid.NewGuid();
            var queueSinkResourceId = Guid.NewGuid();

            var mockOption = new Mock <IOption>();
            var option     = new OptionViewForTesting(mockOption.Object);
            var mockInputs = new Mock <ICollection <IServiceInputBase> >();

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                QueueSourceId = resourceId,
                QueueName     = "Queue",
                WorkflowName  = "Workflow",
                Concurrency   = 100,
                UserName      = "******",
                Password      = "******",
                Options       = new ObservableCollection <OptionView> {
                    option
                },
                QueueSinkId       = queueSinkResourceId,
                DeadLetterQueue   = "DeadLetterQueue",
                DeadLetterOptions = new ObservableCollection <OptionView> {
                    option
                },
                Inputs = mockInputs.Object
            };

            var otherTriggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                Concurrency = 2
            };
            var equals = triggerQueueView.Equals(otherTriggerQueueView);

            Assert.IsFalse(equals);
        }