// ReSharper disable InconsistentNaming
        public void QuickVariableInput_Using_Case_Convert_Check_Row_Count_Expected_3()
        // ReSharper restore InconsistentNaming
        {
            DsfCaseConvertActivity activity = new DsfCaseConvertActivity();
            activity.ConvertCollection.Add(new CaseConvertTO("[[result1]]", "UPPER", "[[result1]]", 1));
            activity.ConvertCollection.Add(new CaseConvertTO("[[result2]]", "UPPER", "[[result2]]", 2));
            activity.ConvertCollection.Add(new CaseConvertTO("[[result3]]", "UPPER", "[[result3]]", 3));

            ModelItem modelItem = TestModelItemFactory.CreateModelItem(activity);


            QuickVariableInputModel model = new QuickVariableInputModel(TestModelItemFactory.CreateModelItem(activity), activity);
            int colCount = model.GetCollectionCount();

            Assert.AreEqual(3, colCount);
        }
        protected override void OnModelItemChanged(object newItem)
        {
            base.OnModelItemChanged(newItem);

            Context.Items.Subscribe<Selection>(SelectionChanged);

            _convertCollection = newItem;
            _activity = newItem as ModelItem;

            if(_convertCollection.ConvertCollection == null || _convertCollection.ConvertCollection.Count <= 0)
            {
                _convertCollection.ConvertCollection.Add(new BaseConvertTO("", "Text", "Base 64", "", 1));
                _convertCollection.ConvertCollection.Add(new BaseConvertTO("", "Text", "Base 64", "", 2));
            }
            if(_activity != null)
            {
                var modelProperty = _activity.Properties["DisplayName"];
                if(modelProperty != null)
                {
                    modelProperty.SetValue(CreateDisplayName());
                }

                ModelItem parent = _activity.Parent;

                while(parent != null)
                {
                    if(parent.Properties["Argument"] != null)
                    {
                        break;
                    }

                    parent = parent.Parent;
                }
            }

            ICollectionActivity modelItemActivity = ModelItem.GetCurrentValue() as ICollectionActivity;

            QuickVariableInputModel model = new QuickVariableInputModel(ModelItem, modelItemActivity);

            ViewModel = new QuickVariableInputViewModel(model);
        }
        public QuickVariableInputViewModel(QuickVariableInputModel model)
        {
            _model = model;
            SplitType = "Chars";
            SplitToken = string.Empty;
            VariableListString = string.Empty;
            Prefix = string.Empty;
            Suffix = string.Empty;
            CanAdd = false;

            SplitTypeList = new List<string> { "Index", "Chars", "New Line", "Space", "Tab" };
            _errorColletion = new List<KeyValuePair<ErrorType, string>>();
        }
        public void QuickVariableInput_Using_Case_Convert_Add_List_To_Collection_Overwrite_False_Expected_5()
        {
            DsfCaseConvertActivity activity = new DsfCaseConvertActivity();
            activity.ConvertCollection.Add(new CaseConvertTO("[[result1]]", "UPPER", "[[result1]]", 1));
            activity.ConvertCollection.Add(new CaseConvertTO("[[result2]]", "UPPER", "[[result2]]", 2));
            activity.ConvertCollection.Add(new CaseConvertTO("[[result3]]", "UPPER", "[[result3]]", 3));
            QuickVariableInputModel model = new QuickVariableInputModel(TestModelItemFactory.CreateModelItem(activity), activity);
            IList<string> listToAdd = new List<string>();
            listToAdd.Add("[[Add1]]");
            listToAdd.Add("[[Add2]]");

            model.AddListToCollection(listToAdd, false);

            int colCount = model.GetCollectionCount();

            Assert.AreEqual(5, colCount);
        }