Exemplo n.º 1
0
        public void DataSplitDesignerViewModel_ValidateThis_SourceStringIsEmptyOrWhiteSpace_DoesHaveErrors()
        {
            //------------Setup for test--------------------------
            var items = new List <DataSplitDTO> {
                new DataSplitDTO("", DataSplitDTO.SplitTypeChars, "", 0)
            };
            var mi = CreateModelItem(items);

            mi.SetProperty("SourceString", " ");
            var viewModel = new DataSplitDesignerViewModel(mi);

            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var          datalist   = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return(datalist);
            };
            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.Errors.Count);
            StringAssert.Contains(viewModel.Errors[0].Message, Warewolf.Resource.Errors.ErrorResource.DataSplitStringToSplitErrorTest);
        }
 public void DataSplitDesignerViewModel_Constructor_ModelItemIsValid_ResultsCollectionHasTwoItems()
 {
     var modelItem = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());
     var viewModel = new DataSplitDesignerViewModel(modelItem);
     dynamic mi = viewModel.ModelItem;
     Assert.AreEqual(2, mi.ResultsCollection.Count);
 }
Exemplo n.º 3
0
        public void DataSplitDesignerViewModel_ValidateThis_SourceStringIsNotEmpty_DoesNotHaveErrors()
        {
            //------------Setup for test--------------------------
            var items = new List <DataSplitDTO> {
                new DataSplitDTO("", DataSplitDTO.SplitTypeChars, "", 0)
            };
            var mi = CreateModelItem(items);

            mi.SetProperty("SourceString", "a,b,c");
            var viewModel = new DataSplitDesignerViewModel(mi);

            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var          datalist   = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return(datalist);
            };

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.IsNull(viewModel.Errors);
        }
Exemplo n.º 4
0
        public void DataSplitDesignerViewModel_Constructor_ModelItemIsValid_ResultsCollectionHasTwoItems()
        {
            var     modelItem = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());
            var     viewModel = new DataSplitDesignerViewModel(modelItem);
            dynamic mi        = viewModel.ModelItem;

            Assert.AreEqual(2, mi.ResultsCollection.Count);
        }
Exemplo n.º 5
0
        public void DataSplitDesignerViewModel_Constructor__ModelItemIsValid_CollectionNameIsSetToResultsCollection()
        {
            var items = new List <DataSplitDTO> {
                new DataSplitDTO()
            };
            var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));

            Assert.AreEqual("ResultsCollection", viewModel.CollectionName);
        }
Exemplo n.º 6
0
        public void DataSplitDesignerViewModel_Constructor__ModelItemIsValid_ListHasFourItems()
        {
            var items = new List <DataSplitDTO> {
                new DataSplitDTO()
            };
            var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));

            Assert.AreEqual(6, viewModel.ItemsList.Count);
        }
 public void DataSplitDesignerViewModel_Constructor_ModelItemIsInitializedWith4Items_ResultsCollectionHasFourItems()
 {
     var items = new List<DataSplitDTO>
     {
         new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0),
         new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0),
         new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0),
         new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0)
     };
     var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));
     dynamic mi = viewModel.ModelItem;
     Assert.AreEqual(5, mi.ResultsCollection.Count);
 }
Exemplo n.º 8
0
        public void DataSplitDesignerViewModel_Constructor_ModelItemIsInitializedWith4Items_ResultsCollectionHasFourItems()
        {
            var items = new List <DataSplitDTO>
            {
                new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0),
                new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0),
                new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0),
                new DataSplitDTO("", DataSplitDTO.SplitTypeNone, "", 0)
            };
            var     viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));
            dynamic mi        = viewModel.ModelItem;

            Assert.AreEqual(5, mi.ResultsCollection.Count);
        }
Exemplo n.º 9
0
        static void VerifySplitTypeAgainstEnabledAt(string splitType, bool expectedEnableAt)
        {
            var items = new List <DataSplitDTO> {
                new DataSplitDTO("", splitType, ",", 0)
            };
            var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));

            viewModel.SplitTypeUpdatedCommand.Execute(0);
            dynamic mi             = viewModel.ModelItemCollection[0];
            var     at             = mi.At as string;
            var     actualEnableAt = mi.EnableAt as bool?;

            Assert.AreEqual(expectedEnableAt ? "," : "", at);
            Assert.AreEqual(expectedEnableAt, actualEnableAt);
        }
Exemplo n.º 10
0
        public void DataSplitDesignerViewModel_UpdateHelp_ShouldCallToHelpViewMode()
        {
            //------------Setup for test--------------------------
            var mockMainViewModel = new Mock <IShellViewModel>();
            var mockHelpViewModel = new Mock <IHelpWindowViewModel>();

            mockHelpViewModel.Setup(model => model.UpdateHelpText(It.IsAny <string>())).Verifiable();
            mockMainViewModel.Setup(model => model.HelpViewModel).Returns(mockHelpViewModel.Object);
            CustomContainer.Register(mockMainViewModel.Object);
            var modelItem = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());
            var viewModel = new DataSplitDesignerViewModel(modelItem);

            //------------Execute Test---------------------------
            viewModel.UpdateHelpDescriptor("help");
            //------------Assert Results-------------------------
            mockHelpViewModel.Verify(model => model.UpdateHelpText(It.IsAny <string>()), Times.Once());
        }
Exemplo n.º 11
0
        static void VerifySplitTypeAgainstIsEscapeCharEnabled(string splitType, bool expectedIsEscapeCharEnabled)
        {
            var items = new List <DataSplitDTO> {
                new DataSplitDTO("", splitType, "", 0)
                {
                    EscapeChar = "'"
                }
            };
            var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));

            viewModel.SplitTypeUpdatedCommand.Execute(0);
            dynamic mi         = viewModel.ModelItemCollection[0];
            var     escapeChar = mi.EscapeChar as string;
            var     actualIsEscapeCharEnabled = mi.IsEscapeCharEnabled as bool?;

            Assert.AreEqual(expectedIsEscapeCharEnabled ? "'" : "", escapeChar);
            Assert.AreEqual(expectedIsEscapeCharEnabled, actualIsEscapeCharEnabled);
        }
Exemplo n.º 12
0
        static DataSplitDesignerViewModel CreateViewModel()
        {
            var mi = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());

            mi.SetProperty("DisplayName", "Split");
            mi.SetProperty("SourceString", "a,b");

            var dto = new DataSplitDTO("a]]", DataSplitDTO.SplitTypeIndex, "a", 0);

            // ReSharper disable PossibleNullReferenceException
            var miCollection = mi.Properties["ResultsCollection"].Collection;

            miCollection.Add(dto);
            // ReSharper restore PossibleNullReferenceException

            var viewModel = new DataSplitDesignerViewModel(mi);

            return(viewModel);
        }
Exemplo n.º 13
0
        public void DataSplitDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfDTO()
        {
            //------------Setup for test--------------------------
            var mi = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());

            mi.SetProperty("DisplayName", "Split");
            mi.SetProperty("SourceString", "a,b");

            var dto = new DataSplitDTO("a]]", DataSplitDTO.SplitTypeIndex, "a", 0);

            // ReSharper disable PossibleNullReferenceException
            var miCollection = mi.Properties["ResultsCollection"].Collection;
            var dtoModelItem = miCollection.Add(dto);
            // ReSharper restore PossibleNullReferenceException

            var viewModel = new DataSplitDesignerViewModel(mi);

            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var          datalist   = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return(datalist);
            };

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.AreEqual(2, viewModel.Errors.Count);

            StringAssert.Contains(viewModel.Errors[0].Message, Warewolf.Resource.Errors.ErrorResource.DataSplitInvalidExpressionErrorTest);
            Verify_IsFocused(dtoModelItem, viewModel.Errors[0].Do, "IsOutputVariableFocused");

            StringAssert.Contains(viewModel.Errors[1].Message, Warewolf.Resource.Errors.ErrorResource.DataSplitUsingNullErrorTest);
            Verify_IsFocused(dtoModelItem, viewModel.Errors[1].Do, "IsAtFocused");
        }
 static void VerifySplitTypeAgainstEnabledAt(string splitType, bool expectedEnableAt)
 {
     var items = new List<DataSplitDTO> { new DataSplitDTO("", splitType, ",", 0) };
     var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));
     viewModel.SplitTypeUpdatedCommand.Execute(0);
     dynamic mi = viewModel.ModelItemCollection[0];
     var at = mi.At as string;
     var actualEnableAt = mi.EnableAt as bool?;
     Assert.AreEqual(expectedEnableAt ? "," : "", at);
     Assert.AreEqual(expectedEnableAt, actualEnableAt);
 }
 public void DataSplitDesignerViewModel_Constructor__ModelItemIsValid_CollectionNameIsSetToResultsCollection()
 {
     var items = new List<DataSplitDTO> { new DataSplitDTO() };
     var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));
     Assert.AreEqual("ResultsCollection", viewModel.CollectionName);
 }
 public void DataSplitDesignerViewModel_Constructor__ModelItemIsValid_ListHasFourItems()
 {
     var items = new List<DataSplitDTO> { new DataSplitDTO() };
     var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));
     Assert.AreEqual(6, viewModel.ItemsList.Count);
 }
        static DataSplitDesignerViewModel CreateViewModel()
        {
            var mi = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());
            mi.SetProperty("DisplayName", "Split");
            mi.SetProperty("SourceString", "a,b");

            var dto = new DataSplitDTO("a]]", DataSplitDTO.SplitTypeIndex, "a", 0);

            // ReSharper disable PossibleNullReferenceException
            var miCollection = mi.Properties["ResultsCollection"].Collection;
            miCollection.Add(dto);
            // ReSharper restore PossibleNullReferenceException

            var viewModel = new DataSplitDesignerViewModel(mi);
            return viewModel;
        }
        public void DataSplitDesignerViewModel_ValidateCollectionItem_ValidatesPropertiesOfDTO()
        {
            //------------Setup for test--------------------------
            var mi = ModelItemUtils.CreateModelItem(new DsfDataSplitActivity());
            mi.SetProperty("DisplayName", "Split");
            mi.SetProperty("SourceString", "a,b");

            var dto = new DataSplitDTO("a]]", DataSplitDTO.SplitTypeIndex, "a", 0);

            // ReSharper disable PossibleNullReferenceException
            var miCollection = mi.Properties["ResultsCollection"].Collection;
            var dtoModelItem = miCollection.Add(dto);
            // ReSharper restore PossibleNullReferenceException

            var viewModel = new DataSplitDesignerViewModel(mi);
            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var datalist = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return datalist;
            };

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.AreEqual(2, viewModel.Errors.Count);

            StringAssert.Contains(viewModel.Errors[0].Message, "'Results' - Invalid expression: opening and closing brackets don't match");
            Verify_IsFocused(dtoModelItem, viewModel.Errors[0].Do, "IsOutputVariableFocused");

            StringAssert.Contains(viewModel.Errors[1].Message, "'Using' must be a real number");
            Verify_IsFocused(dtoModelItem, viewModel.Errors[1].Do, "IsAtFocused");
        }
        public void DataSplitDesignerViewModel_ValidateThis_SourceStringIsEmptyOrWhiteSpace_DoesHaveErrors()
        {
            //------------Setup for test--------------------------
            var items = new List<DataSplitDTO> { new DataSplitDTO("", DataSplitDTO.SplitTypeChars, "", 0) };
            var mi = CreateModelItem(items);
            mi.SetProperty("SourceString", " ");
            var viewModel = new DataSplitDesignerViewModel(mi);
            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var datalist = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return datalist;
            };
            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.Errors.Count);
            StringAssert.Contains(viewModel.Errors[0].Message, "'String to Split' cannot be empty or only white space");
        }
        public void DataSplitDesignerViewModel_ValidateThis_SourceStringIsNotEmpty_DoesNotHaveErrors()
        {
            //------------Setup for test--------------------------
            var items = new List<DataSplitDTO> { new DataSplitDTO("", DataSplitDTO.SplitTypeChars, "", 0) };
            var mi = CreateModelItem(items);
            mi.SetProperty("SourceString", "a,b,c");
            var viewModel = new DataSplitDesignerViewModel(mi);
            viewModel.GetDatalistString = () =>
            {
                const string trueString = "True";
                const string noneString = "None";
                var datalist = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                return datalist;
            };

            //------------Execute Test---------------------------
            viewModel.Validate();

            //------------Assert Results-------------------------
            Assert.IsNull(viewModel.Errors);
        }
 static void VerifySplitTypeAgainstIsEscapeCharEnabled(string splitType, bool expectedIsEscapeCharEnabled)
 {
     var items = new List<DataSplitDTO> { new DataSplitDTO("", splitType, "", 0) { EscapeChar = "'" } };
     var viewModel = new DataSplitDesignerViewModel(CreateModelItem(items));
     viewModel.SplitTypeUpdatedCommand.Execute(0);
     dynamic mi = viewModel.ModelItemCollection[0];
     var escapeChar = mi.EscapeChar as string;
     var actualIsEscapeCharEnabled = mi.IsEscapeCharEnabled as bool?;
     Assert.AreEqual(expectedIsEscapeCharEnabled ? "'" : "", escapeChar);
     Assert.AreEqual(expectedIsEscapeCharEnabled, actualIsEscapeCharEnabled);
 }