public void EditorAllFormattersRootPropSave() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; AddPropertyViewModel(configurationEditorViewModel.RootConfigurationItemViewModels, 1, _typesContainer); AddPropertyViewModel(configurationEditorViewModel.RootConfigurationItemViewModels, 2, _typesContainer); AddPropertyViewModel(configurationEditorViewModel.RootConfigurationItemViewModels, 3, _typesContainer); AddPropertyViewModel(configurationEditorViewModel.RootConfigurationItemViewModels, 4, _typesContainer); AddPropertyViewModel(configurationEditorViewModel.RootConfigurationItemViewModels, 5, _typesContainer); AddPropertyViewModel(configurationEditorViewModel.RootConfigurationItemViewModels, 6, _typesContainer); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); CheckPropertyResultProperty(result.RootConfigurationItemList, 1); CheckPropertyResultProperty(result.RootConfigurationItemList, 2); CheckPropertyResultProperty(result.RootConfigurationItemList, 3); CheckPropertyResultProperty(result.RootConfigurationItemList, 4); CheckPropertyResultProperty(result.RootConfigurationItemList, 5); CheckPropertyResultProperty(result.RootConfigurationItemList, 6); Assert.AreEqual(result.RootConfigurationItemList.Count, 6); }
public void EditorAllFormattersPropSave() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 1, _typesContainer); AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 2, _typesContainer); AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 3, _typesContainer); AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 4, _typesContainer); AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 5, _typesContainer); AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 6, _typesContainer); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.RootConfigurationItemList.Count, 1); var itemList = (result.RootConfigurationItemList[0] as DefaultItemsGroup).ConfigurationItemList; CheckPropertyResultProperty(itemList, 1); CheckPropertyResultProperty(itemList, 2); CheckPropertyResultProperty(itemList, 3); CheckPropertyResultProperty(itemList, 4); CheckPropertyResultProperty(itemList, 5); CheckPropertyResultProperty(itemList, 6); Assert.AreEqual(itemList.Count, 6); }
public void EditorAllFormattersPropCopySave() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; var original1 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 1, _typesContainer); var original2 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 2, _typesContainer); var original3 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 3, _typesContainer); var original4 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 4, _typesContainer); var original5 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 5, _typesContainer); var original6 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 6, _typesContainer); var originalFromBits = AddPropertyWithBitsViewModel(rootGroup.ChildStructItemViewModels, 6, _typesContainer); rootGroup.ChildStructItemViewModels.Add(original1.Clone() as IConfigurationItemViewModel); rootGroup.ChildStructItemViewModels.Add(original2.Clone() as IConfigurationItemViewModel); rootGroup.ChildStructItemViewModels.Add(original3.Clone() as IConfigurationItemViewModel); rootGroup.ChildStructItemViewModels.Add(original4.Clone() as IConfigurationItemViewModel); rootGroup.ChildStructItemViewModels.Add(original5.Clone() as IConfigurationItemViewModel); rootGroup.ChildStructItemViewModels.Add(original6.Clone() as IConfigurationItemViewModel); rootGroup.ChildStructItemViewModels.Add(originalFromBits.Clone() as IConfigurationItemViewModel); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.RootConfigurationItemList.Count, 1); var itemList = (result.RootConfigurationItemList[0] as DefaultItemsGroup).ConfigurationItemList; Assert.AreEqual(itemList.Count, 14); CheckPropertyResultProperty(itemList, 1); CheckPropertyResultProperty(itemList, 2); CheckPropertyResultProperty(itemList, 3); CheckPropertyResultProperty(itemList, 4); CheckPropertyResultProperty(itemList, 5); CheckPropertyResultProperty(itemList, 6); CheckPropertyFromBitsResultProperty(itemList, 6, 7); var copiesList = itemList.Skip(7).Take(7).ToList(); CheckPropertyResultProperty(copiesList, 1); CheckPropertyResultProperty(copiesList, 2); CheckPropertyResultProperty(copiesList, 3); CheckPropertyResultProperty(copiesList, 4); CheckPropertyResultProperty(copiesList, 5); CheckPropertyResultProperty(copiesList, 6); CheckPropertyFromBitsResultProperty(copiesList, 6, 7); }
public void EmptyEditorSave() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.RootConfigurationItemList.Count, 0); }
public void EditorCopyPropAsSharedResources() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var deviceSharedResources = new DeviceSharedResources(); ISharedResourcesGlobalViewModel sharedResourcesGlobalViewModel = _typesContainer.Resolve <ISharedResourcesGlobalViewModel>(); sharedResourcesGlobalViewModel.InitializeFromResources(deviceSharedResources); var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var addedRow = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 1, _typesContainer); configurationEditorViewModel.SelectedRows = new List <IEditorConfigurationItemViewModel>() { addedRow }; sharedResourcesGlobalViewModel.AddAsSharedResourceWithContainer(addedRow, null, false); configurationEditorViewModel.CopyElementCommand.Execute(null); configurationEditorViewModel.SelectedRow = rootGroup; Assert.True(configurationEditorViewModel.PasteAsChildElementCommand.CanExecute(null)); configurationEditorViewModel.PasteAsChildElementCommand.Execute(null); var copiedRow = rootGroup.ChildStructItemViewModels[1]; configurationEditorViewModel.SelectedRow = (IEditorConfigurationItemViewModel)copiedRow; Assert.True( (configurationEditorViewModel.AddSelectedElementAsResourceCommand as RelayCommand).CanExecute(null)); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.RootConfigurationItemList.Count, 1); var itemList = (result.RootConfigurationItemList[0] as DefaultItemsGroup).ConfigurationItemList; CheckPropertyResultProperty(itemList, 1); CheckPropertyResultProperty(itemList, 1, 1); Assert.AreEqual(itemList.Count, 2); }
public void EditorAllFormattersPropFromSharedResourcesSave() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var deviceSharedResources = new DeviceSharedResources(); ISharedResourcesGlobalViewModel sharedResourcesGlobalViewModel = _typesContainer.Resolve <ISharedResourcesGlobalViewModel>(); sharedResourcesGlobalViewModel.InitializeFromResources(deviceSharedResources); CreateFormatterParametersForResourcesViewModel(1); CreateFormatterParametersForResourcesViewModel(2); CreateFormatterParametersForResourcesViewModel(3); CreateFormatterParametersForResourcesViewModel(4); CreateFormatterParametersForResourcesViewModel(5); CreateFormatterParametersForResourcesViewModel(6); var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; AddPropertyWithFormatterFromResourceViewModel(rootGroup.ChildStructItemViewModels, 1); AddPropertyWithFormatterFromResourceViewModel(rootGroup.ChildStructItemViewModels, 2); AddPropertyWithFormatterFromResourceViewModel(rootGroup.ChildStructItemViewModels, 3); AddPropertyWithFormatterFromResourceViewModel(rootGroup.ChildStructItemViewModels, 4); AddPropertyWithFormatterFromResourceViewModel(rootGroup.ChildStructItemViewModels, 5); AddPropertyWithFormatterFromResourceViewModel(rootGroup.ChildStructItemViewModels, 6); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.RootConfigurationItemList.Count, 1); var itemList = (result.RootConfigurationItemList[0] as DefaultItemsGroup).ConfigurationItemList; CheckPropertyResultProperty(itemList, 1); CheckPropertyResultProperty(itemList, 2); CheckPropertyResultProperty(itemList, 3); CheckPropertyResultProperty(itemList, 4); CheckPropertyResultProperty(itemList, 5); CheckPropertyResultProperty(itemList, 6); Assert.AreEqual(itemList.Count, 6); }
public async Task ShouldAllowAddManyDependencies() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; var prop1 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 1, _typesContainer); var prop2 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 2, _typesContainer); var prop3 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 3, _typesContainer); var prop4 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 4, _typesContainer); var prop5 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 5, _typesContainer); var prop6 = AddPropertyViewModel(rootGroup.ChildStructItemViewModels, 6, _typesContainer); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.RootConfigurationItemList.Count, 1); var itemList = (result.RootConfigurationItemList[0] as DefaultItemsGroup).ConfigurationItemList; var selected = new ObservableCollection <object>(); selected.Add(prop1); selected.Add(prop2); selected.Add(prop5); configurationEditorViewModel.OnSelectionChangedCommand.Execute(selected); Assert.True(configurationEditorViewModel.IsMultiEditMode); Assert.True(configurationEditorViewModel.AddDependencyToManyProps.CanExecute(null)); }
public void RemoveSubproperty() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; var complexPropertyEditorViewModel = ConfigurationItemEditorViewModelFactory.Create().VisitComplexProperty(null) as IComplexPropertyEditorViewModel; var subprop1 = ConfigurationItemEditorViewModelFactory.Create().WithParent(complexPropertyEditorViewModel) .VisitSubProperty(null) as ISubPropertyEditorViewModel; var subprop2 = ConfigurationItemEditorViewModelFactory.Create().WithParent(complexPropertyEditorViewModel) .VisitSubProperty(null) as ISubPropertyEditorViewModel; complexPropertyEditorViewModel.ChildStructItemViewModels.Add(subprop1); complexPropertyEditorViewModel.ChildStructItemViewModels.Add(subprop2); complexPropertyEditorViewModel.SubPropertyEditorViewModels.Add(subprop1); complexPropertyEditorViewModel.SubPropertyEditorViewModels.Add(subprop2); subprop1.BitNumbersInWord = complexPropertyEditorViewModel.MainBitNumbersInWordCollection; subprop2.BitNumbersInWord = complexPropertyEditorViewModel.MainBitNumbersInWordCollection; complexPropertyEditorViewModel.MainBitNumbersInWordCollection[0].ChangeValueByOwnerCommand .Execute(subprop1); complexPropertyEditorViewModel.MainBitNumbersInWordCollection[1].ChangeValueByOwnerCommand .Execute(subprop1); complexPropertyEditorViewModel.MainBitNumbersInWordCollection[2].ChangeValueByOwnerCommand .Execute(subprop2); complexPropertyEditorViewModel.MainBitNumbersInWordCollection[3].ChangeValueByOwnerCommand .Execute(subprop2); rootGroup.ChildStructItemViewModels.Add(complexPropertyEditorViewModel); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); var resSubProp1 = ((result.RootConfigurationItemList[0] as IItemsGroup).ConfigurationItemList[0] as IComplexProperty) .SubProperties[0]; var resSubProp2 = ((result.RootConfigurationItemList[0] as IItemsGroup).ConfigurationItemList[0] as IComplexProperty) .SubProperties[1]; Assert.True(resSubProp1.BitNumbersInWord.Count == 2); Assert.True(resSubProp2.BitNumbersInWord.Count == 2); Assert.True(resSubProp1.BitNumbersInWord.Contains(15)); Assert.True(resSubProp1.BitNumbersInWord.Contains(14)); Assert.True(resSubProp2.BitNumbersInWord.Contains(13)); Assert.True(resSubProp2.BitNumbersInWord.Contains(12)); complexPropertyEditorViewModel.RemoveChildItem(subprop2); Assert.True(complexPropertyEditorViewModel.MainBitNumbersInWordCollection.All(model => model.Owner != subprop2)); Assert.True(complexPropertyEditorViewModel.MainBitNumbersInWordCollection.First(model => model.NumberOfBit == 13).Value == false); Assert.True(complexPropertyEditorViewModel.MainBitNumbersInWordCollection.First(model => model.NumberOfBit == 12).Value == false); Assert.True(complexPropertyEditorViewModel.MainBitNumbersInWordCollection.First(model => model.NumberOfBit == 13).Owner == null); Assert.True(complexPropertyEditorViewModel.MainBitNumbersInWordCollection.First(model => model.NumberOfBit == 12).Owner == null); }
public void GroupFilterSaveLoad() { var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; rootGroup.FilterViewModels.AddRange(new ObservableCollection <IFilterViewModel>() { new FilterViewModel(new ObservableCollection <IConditionViewModel>()) { Name = "F1" }, new FilterViewModel(new ObservableCollection <IConditionViewModel>() { new CompareConditionViewModel(new List <string>() { "c1" }) { SelectedCondition = ConditionsEnum.Equal.ToString(), UshortValueToCompare = 1 } }) { Name = "F2" } }); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); var groupFilter = (result.RootConfigurationItemList[0] as IItemsGroup).GroupFilter as GroupFilterInfo; Assert.True(groupFilter.Filters.Count == 2); DefaultFilter defaultFilter1 = groupFilter.Filters[0] as DefaultFilter; DefaultFilter defaultFilter2 = groupFilter.Filters[1] as DefaultFilter; Assert.True(defaultFilter1.Conditions.Count == 0); Assert.True(defaultFilter1.Name == "F1"); Assert.True(defaultFilter2.Conditions.Count == 1); Assert.True(defaultFilter2.Name == "F2"); var condition = defaultFilter2.Conditions[0] as CompareCondition; Assert.True(condition.ConditionsEnum == ConditionsEnum.Equal); Assert.True(condition.UshortValueToCompare == 1); ConfigurationItemEditorViewModelFactory configurationItemEditorViewModelFactory = ConfigurationItemEditorViewModelFactory.Create(); var loadedRootItem = configurationItemEditorViewModelFactory.VisitItemsGroup( result.RootConfigurationItemList[0] as IItemsGroup); FilterViewModel filterViewModel1 = (loadedRootItem as IConfigurationGroupEditorViewModel).FilterViewModels[0] as FilterViewModel; FilterViewModel filterViewModel2 = (loadedRootItem as IConfigurationGroupEditorViewModel).FilterViewModels[1] as FilterViewModel; Assert.True(filterViewModel1.Name == "F1"); Assert.True(filterViewModel2.Name == "F2"); Assert.True(filterViewModel1.ConditionViewModels.Count == 0); Assert.True(filterViewModel2.ConditionViewModels.Count == 1); CompareConditionViewModel compareConditionViewModel = filterViewModel2.ConditionViewModels[0] as CompareConditionViewModel; Assert.True(compareConditionViewModel.SelectedCondition == ConditionsEnum.Equal.ToString()); Assert.True(compareConditionViewModel.UshortValueToCompare == 1); }
public void EditorBaseValuesSave() { var serializerService = Program.GetApp().Container.Resolve <ISerializerService>(); IResultingDeviceViewModel initialDevice = Program.GetApp().Container.Resolve <IResultingDeviceViewModel>(); initialDevice.LoadDevice("FileAssets/testFile.json"); var configurationEditorViewModel = initialDevice.FragmentEditorViewModels.First() as ConfigurationEditorViewModel; var memoryForBaseValues = serializerService.DeserializeFromFile <Dictionary <ushort, ushort> >( "FileAssets/Конфигурация testFile.cnf"); var baseValuesMemory = Result <Dictionary <ushort, ushort> > .Create(memoryForBaseValues, true); configurationEditorViewModel.BaseValuesViewModel = new BaseValuesViewModel(); configurationEditorViewModel.BaseValuesViewModel.BaseValuesViewModels.Add(new BaseValueViewModel() { Name = "baseVal1", BaseValuesMemory = baseValuesMemory }); configurationEditorViewModel.BaseValuesViewModel.BaseValuesViewModels.Add(new BaseValueViewModel() { Name = "baseVal2", BaseValuesMemory = baseValuesMemory }); var result = ConfigurationFragmentFactory.CreateConfiguration(configurationEditorViewModel); Assert.AreEqual(result.BaseValues.BaseValues.Count, 2); Assert.True(result.BaseValues.BaseValues[0].Name == "baseVal1"); Assert.True(result.BaseValues.BaseValues[1].Name == "baseVal2"); Program.CleanProject(); var globalCommandsMock = ApplicationGlobalCommandsMock .Create() .WithAskUserGlobalResult(true); StaticContainer.Container.RegisterInstance <IApplicationGlobalCommands>(globalCommandsMock); var device = initialDevice.GetDevice(); Program.GetApp().Container.Resolve <IDevicesContainerService>() .AddConnectableItem(device); var shell = Program.GetApp().Container.Resolve <ShellViewModel>(); var deviceViewModel = shell.ProjectBrowserViewModel.DeviceViewModels[0]; var configurationFragmentViewModel = shell.ProjectBrowserViewModel.DeviceViewModels[0].FragmentViewModels .First(model => model.NameForUiKey == "Configuration") as RuntimeConfigurationViewModel; var command = configurationFragmentViewModel.FragmentOptionsViewModel.GetCommand("BaseValues", "baseVal1"); var editableChosenFromListValueViewModel = ((configurationFragmentViewModel.AllRows[4].ChildStructItemViewModels[2] as ILocalAndDeviceValueContainingViewModel).LocalValue as EditableChosenFromListValueViewModel); Assert.AreEqual( editableChosenFromListValueViewModel.SelectedItem, "Нет"); command.OptionCommand.Execute(null); Assert.AreEqual( editableChosenFromListValueViewModel.SelectedItem, "Д2 Инв"); editableChosenFromListValueViewModel.SelectedItem = editableChosenFromListValueViewModel.AvailableItemsList[1]; Assert.AreEqual( editableChosenFromListValueViewModel.SelectedItem, "Д1 Инв"); command.OptionCommand.Execute(null); Assert.AreEqual( editableChosenFromListValueViewModel.SelectedItem, "Д2 Инв"); }
public IDeviceFragment BuildDeviceFragment() { return(ConfigurationFragmentFactory.CreateConfiguration(this)); }