public void ConflictModelFactory_GivenServiceConflictNode_NullResourceID() { //------------Setup for test-------------------------- var adapter = new Mock <IApplicationAdaptor>(); var severRepo = new Mock <IServerRepository>(); severRepo.Setup(p => p.ActiveServer).Returns(new Mock <IServer>().Object); CustomContainer.Register(severRepo.Object); adapter.Setup(p => p.TryFindResource(It.IsAny <object>())).Returns(new object()); CustomContainer.Register(adapter.Object); var node = new Mock <IConflictTreeNode>(); var contextualResource = new Mock <IContextualResourceModel>(); var value = new DsfActivity(); var assignStep = new FlowStep { Action = value }; var currentResourceModel = Dev2MockFactory.SetupResourceModelMock(); node.Setup(p => p.Activity).Returns(value); contextualResource.Setup(r => r.Environment.ResourceRepository.LoadContextualResourceModel(Guid.Empty)).Returns((IContextualResourceModel)null); var toolConflictItem = new ToolConflictItem(new ViewModels.Merge.Utils.ConflictRowList(new Mock <IConflictModelFactory>().Object, new Mock <IConflictModelFactory>().Object, new List <ConflictTreeNode>(), new List <ConflictTreeNode>()), ViewModels.Merge.Utils.ConflictRowList.Column.Current); //------------Execute Test--------------------------- var completeConflict = new ConflictModelFactory(toolConflictItem, contextualResource.Object, node.Object); //------------Assert Results------------------------- Assert.IsNotNull(completeConflict); adapter.Verify(p => p.TryFindResource(It.IsAny <object>())); var mergeToolModel = completeConflict.CreateModelItem(toolConflictItem, node.Object); Assert.AreEqual("DsfActivity", mergeToolModel.MergeDescription); Assert.AreEqual(typeof(ServiceDesignerViewModel).FullName, ((ToolConflictItem)mergeToolModel).ActivityDesignerViewModel.GetType().FullName); }
public void GetDataList_GivenEmptyResourceModel_ShouldReturnReturnEmpty() { //------------Setup for test-------------------------- var adapter = new Mock <IApplicationAdaptor>(); adapter.Setup(p => p.TryFindResource(It.IsAny <object>())).Returns(new object()); CustomContainer.Register(adapter.Object); var node = new Mock <IConflictTreeNode>(); var contextualResource = new Mock <IContextualResourceModel>(); var value = new DsfMultiAssignActivity(); var assignStep = new FlowStep { Action = value }; node.Setup(p => p.Activity).Returns(value); var assignExample = XML.XmlResource.Fetch("AssignOutput"); var jsonSerializer = new Dev2JsonSerializer(); var currentResourceModel = Dev2MockFactory.SetupResourceModelMock(); var assignExampleBuilder = new StringBuilder(assignExample.ToString(System.Xml.Linq.SaveOptions.DisableFormatting)); currentResourceModel.Setup(resModel => resModel.WorkflowXaml).Returns(assignExampleBuilder); currentResourceModel.Setup(resModel => resModel.DisplayName).Returns("Hello World"); currentResourceModel.Setup(resModel => resModel.DataList).Returns(""); var toolConflictItem = new ToolConflictItem(new ViewModels.Merge.Utils.ConflictRowList(new Mock <IConflictModelFactory>().Object, new Mock <IConflictModelFactory>().Object, new List <ConflictTreeNode>(), new List <ConflictTreeNode>()), ViewModels.Merge.Utils.ConflictRowList.Column.Current); //------------Execute Test--------------------------- var completeConflict = new ConflictModelFactory(toolConflictItem, contextualResource.Object, node.Object); //------------Assert Results------------------------- Assert.IsNotNull(completeConflict); completeConflict.GetDataList(currentResourceModel.Object); Assert.AreEqual(2, completeConflict.DataListViewModel.DataList.Count); }
public void ToolConflictItem_ShowCheckbox_ExpectedFalse() { //------------Setup for test-------------------------- var toolConflictItem = ToolConflictItem.EmptyConflictItem(); //------------Execute Test--------------------------- //------------Assert Results------------------------- Assert.IsFalse(toolConflictItem.ShowCheckbox); }
public void ConflictModelFactory_GivenDsfSwitchConflictNode_ShouldReturnMergeToolModel() { //------------Setup for test-------------------------- var adapter = new Mock <IApplicationAdaptor>(); adapter.Setup(p => p.TryFindResource(It.IsAny <object>())).Returns(new object()); CustomContainer.Register(adapter.Object); var node = new Mock <IConflictTreeNode>(); var contextualResource = new Mock <IContextualResourceModel>(); var dev2DecisionStack = new Dev2DecisionStack { TheStack = new List <Dev2Decision>(), TrueArmText = "a", FalseArmText = "a", DisplayText = "a", Mode = Dev2DecisionMode.AND }; var serializer = new Dev2JsonSerializer(); var serialize = serializer.Serialize(dev2DecisionStack); var condition = new DsfFlowSwitchActivity { ExpressionText = serialize }; var value = new DsfSwitch(condition) { Switch = "bbb", Switches = new Dictionary <string, IDev2Activity> { { "a", new DsfCalculateActivity() }, { "b", new DsfCalculateActivity() } } }; var assignStep = new FlowStep { Action = value }; node.Setup(p => p.Activity).Returns(value); var toolConflictItem = new ToolConflictItem(new ViewModels.Merge.Utils.ConflictRowList(new Mock <IConflictModelFactory>().Object, new Mock <IConflictModelFactory>().Object, new List <ConflictTreeNode>(), new List <ConflictTreeNode>()), ViewModels.Merge.Utils.ConflictRowList.Column.Current); //------------Execute Test--------------------------- var completeConflict = new ConflictModelFactory(toolConflictItem, contextualResource.Object, node.Object); //------------Assert Results------------------------- Assert.IsNotNull(completeConflict); var mergeToolModel = completeConflict.CreateModelItem(toolConflictItem, node.Object); Assert.AreEqual("bbb", mergeToolModel.MergeDescription); Assert.AreEqual(typeof(SwitchDesignerViewModel).FullName, ((ToolConflictItem)mergeToolModel).ActivityDesignerViewModel.GetType().FullName); }
void GetToolConflictItems(ConflictTreeNode current, ConflictTreeNode diff, bool diffFoundInCurrent, bool currFoundInDifferent) { if (!diffFoundInCurrent && !currFoundInDifferent) { //This is a guard clause // NOTE: if we want to allow a tool that was deleted to not conflict with a tool that was added // this is where it would be implemented } else { if (!diffFoundInCurrent) { currentToolConflictItem = ToolConflictItem.EmptyConflictItem(); } if (!currFoundInDifferent) { diffToolConflictItem = ToolConflictItem.EmptyConflictItem(); } } if (currentToolConflictItem == null) { if (current == null) { currentToolConflictItem = ToolConflictItem.EmptyConflictItem(); } else { currentToolConflictItem = new ToolConflictItem(_list, ConflictRowList.Column.Current); _modelFactoryCurrent.CreateModelItem(currentToolConflictItem, current); } indexCurr++; } if (diffToolConflictItem == null) { if (diff == null) { diffToolConflictItem = ToolConflictItem.EmptyConflictItem(); } else { diffToolConflictItem = new ToolConflictItem(_list, ConflictRowList.Column.Different); _modelFactoryDifferent.CreateModelItem(diffToolConflictItem, diff); } indexDiff++; } }
public void ConflictModelFactory_GivenNullConflictNodeActivity_ShouldReturnNull() { //------------Setup for test-------------------------- var adapter = new Mock<IApplicationAdaptor>(); adapter.Setup(p => p.TryFindResource(It.IsAny<object>())).Returns(new object()); CustomContainer.Register(adapter.Object); var node = new Mock<IConflictTreeNode>(); var contextualResource = new Mock<IContextualResourceModel>(); node.Setup(p => p.Activity).Returns(new DsfCalculateActivity()); var toolConflictItem = new ToolConflictItem(new ViewModels.Merge.Utils.ConflictRowList(new Mock<IConflictModelFactory>().Object, new Mock<IConflictModelFactory>().Object, new List<ConflictTreeNode>(), new List<ConflictTreeNode>()), ViewModels.Merge.Utils.ConflictRowList.Column.Current); //------------Execute Test--------------------------- var completeConflict = new ConflictModelFactory(toolConflictItem, contextualResource.Object, node.Object); //------------Assert Results------------------------- var mergeToolModel = completeConflict.CreateModelItem(toolConflictItem, node.Object); Assert.IsNotNull(mergeToolModel); }
public void ConflictModelFactory_GivenAssignConflictNode_ShouldReturnMergeToolModel() { //------------Setup for test-------------------------- var adapter = new Mock<IApplicationAdaptor>(); adapter.Setup(p => p.TryFindResource(It.IsAny<object>())).Returns(new object()); CustomContainer.Register(adapter.Object); var node = new Mock<IConflictTreeNode>(); var contextualResource = new Mock<IContextualResourceModel>(); var value = new DsfMultiAssignActivity(); var assignStep = new FlowStep { Action = value }; node.Setup(p => p.Activity).Returns(value); var toolConflictItem = new ToolConflictItem(new ViewModels.Merge.Utils.ConflictRowList(new Mock<IConflictModelFactory>().Object, new Mock<IConflictModelFactory>().Object,new List<ConflictTreeNode>(), new List<ConflictTreeNode>()),ViewModels.Merge.Utils.ConflictRowList.Column.Current); //------------Execute Test--------------------------- var completeConflict = new ConflictModelFactory(toolConflictItem, contextualResource.Object, node.Object); //------------Assert Results------------------------- Assert.IsNotNull(completeConflict); adapter.Verify(p => p.TryFindResource(It.IsAny<object>())); }
private void CreateStartRow(ConflictTreeNode current, ConflictTreeNode diff) { if (_cacheStartToolRow != null) { return; } ImageSource mergeIcon = null; if (Application.Current != null) { // TODO: replace Application.Current.TryFindResource with a mockable resource loader mergeIcon = Application.Current.TryFindResource("System-StartNode") as ImageSource; } var currentConflictItem = ToolConflictItem.NewStartConflictItem(this, Column.Current, mergeIcon); var differentConflictItem = ToolConflictItem.NewStartConflictItem(this, Column.Current, mergeIcon); var startRow = ToolConflictRow.CreateStartRow(currentConflictItem, differentConflictItem); startRow.Connectors = CreateStartNodeConnectors(currentConflictItem, differentConflictItem, current, diff); _cacheStartToolRow = startRow; }