public void EditorImportPropertiesTypeASave() { var globalCommandsMock = ApplicationGlobalCommandsMock .Create() .WithAskUserGlobalResult(true).WithSelectFileToOpenResult("FileAssets/МР5ПО60_ВЛС.xlsx"); StaticContainer.Container.RegisterInstance <IApplicationGlobalCommands>(globalCommandsMock); 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 targetGroup = configurationEditorViewModel.RootConfigurationItemViewModels.First(); targetGroup.ChildStructItemViewModels.Clear(); var helper = Program.GetApp().Container.Resolve <ImportPropertiesFromExcelTypeAHelper>(); helper.ImportPropertiesToGroup(targetGroup as IConfigurationGroupEditorViewModel); Program.CleanProject(); 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 group = configurationEditorViewModel.RootConfigurationItemViewModels.First(); Assert.AreEqual(group.ChildStructItemViewModels.Count, 111); Assert.AreEqual(group.ChildStructItemViewModels[49].Header, "U2>> ИО"); Assert.True( (((device.DeviceFragments.First() as IDeviceConfiguration).RootConfigurationItemList[0] as IItemsGroup).ConfigurationItemList[100] as IProperty).IsFromBits); Assert.True( (((device.DeviceFragments.First() as IDeviceConfiguration).RootConfigurationItemList[0] as IItemsGroup).ConfigurationItemList[100] as IProperty).UshortsFormatter is IBoolFormatter); }
public void ValidateEditorConfigurationWithErrorComplexProperty() { IResultingDeviceViewModel initialDevice = Program.GetApp().Container.Resolve <IResultingDeviceViewModel>(); var configurationEditorViewModel = _typesContainer.Resolve <IFragmentEditorViewModel>( ApplicationGlobalNames.FragmentInjectcionStrings.CONFIGURATION + ApplicationGlobalNames.CommonInjectionStrings.EDITOR_VIEWMODEL) as ConfigurationEditorViewModel; var rootGroup = new ConfigurationGroupEditorViewModel() { Name = "root" }; var property = _typesContainer.Resolve <IComplexPropertyEditorViewModel>(); rootGroup.ChildStructItemViewModels .Add(property); configurationEditorViewModel.RootConfigurationItemViewModels.Add(rootGroup); initialDevice.FragmentEditorViewModels .Add(configurationEditorViewModel); var res = _typesContainer.Resolve <IDeviceEditorViewModelValidator>() .ValidateDeviceEditor(new List <IFragmentEditorViewModel>() { configurationEditorViewModel }); Assert.True(res.Count == 0); var newDevice = initialDevice.GetDevice(); IResultingDeviceViewModel newDeviceViewModel = Program.GetApp().Container.Resolve <IResultingDeviceViewModel>(); newDeviceViewModel.LoadDevice(newDevice); var resNew = _typesContainer.Resolve <IDeviceEditorViewModelValidator>() .ValidateDeviceEditor(new List <IFragmentEditorViewModel>() { newDeviceViewModel.FragmentEditorViewModels.First() }); Assert.True(resNew.Count == 0); }
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 Инв"); }