public void VerifyThatRdlShortnameIsUpdated() { var vm = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null, this.favoritesService.Object); var sRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri); sRdl.Container = this.siteDirectory; var cat = new BooleanParameterType(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "cat1", ShortName = "1", Container = sRdl }; var cat2 = new BooleanParameterType(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "cat2", ShortName = "2", Container = sRdl }; CDPMessageBus.Current.SendObjectChangeEvent(cat, EventKind.Added); CDPMessageBus.Current.SendObjectChangeEvent(cat2, EventKind.Added); var rev = typeof(Thing).GetProperty("RevisionNumber"); rev.SetValue(sRdl, 3); sRdl.ShortName = "test"; CDPMessageBus.Current.SendObjectChangeEvent(sRdl, EventKind.Updated); Assert.IsTrue(vm.ParameterTypes.Count(x => x.ContainerRdl == "test") == 2); }
public void VerifyThatParametertypesFromExistingRdlsAreLoaded() { var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null); var pt1 = new TextParameterType(Guid.NewGuid(), null, null); var pt2 = new TextParameterType(Guid.NewGuid(), null, null); siterefenceDataLibrary.ParameterType.Add(pt1); siterefenceDataLibrary.ParameterType.Add(pt2); this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary); var engineeringModelSetup = new EngineeringModelSetup(Guid.NewGuid(), null, null); var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null); var pt3 = new BooleanParameterType(Guid.NewGuid(), null, null); var pt4 = new BooleanParameterType(Guid.NewGuid(), null, null); modelReferenceDataLibrary.ParameterType.Add(pt3); modelReferenceDataLibrary.ParameterType.Add(pt4); engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary); this.siteDirectory.Model.Add(engineeringModelSetup); this.session.Setup(x => x.OpenReferenceDataLibraries).Returns( new HashSet <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary) { modelReferenceDataLibrary }); var browser = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null, this.favoritesService.Object); Assert.AreEqual(4, browser.ParameterTypes.Count); Assert.IsNotNull(browser.ParameterTypes.First().Thing); browser.Dispose(); Assert.IsNull(browser.ParameterTypes.First().Thing); }
/// <summary> /// The event-handler that is invoked by the subscription that listens for updates /// on the <see cref="Session"/> that is being represented by the view-model /// </summary> /// <param name="sessionChange"> /// The payload of the event that is being handled /// </param> private void SessionChangeEventHandler(SessionEvent sessionChange) { if (this.FluentRibbonManager == null) { return; } if (!this.FluentRibbonManager.IsActive) { return; } if (sessionChange.Status == SessionStatus.Open) { var session = sessionChange.Session; var siteDirectory = session.RetrieveSiteDirectory(); this.measurementUnitsBrowserViewModel = new MeasurementUnitsBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService); this.measurementScalesBrowserViewModel = new MeasurementScalesBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService); this.rulesBrowserViewModel = new RulesBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService); this.categoryBrowserViewModel = new CategoryBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService); this.parameterTypesBrowserViewModel = new ParameterTypesBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService, this.FavoritesService); this.Session = session; } if (sessionChange.Status == SessionStatus.Closed) { this.CloseAll(); this.Session = null; } }
public void Setup() { this.session = new Mock <ISession>(); this.panelNavigationService = new Mock <IPanelNavigationService>(); this.dialogNavigationService = new Mock <IThingDialogNavigationService>(); this.permissionService = new Mock <IPermissionService>(); this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object); this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); this.uri = new Uri("http://test.com"); this.assembler = new Assembler(this.uri); this.siteDirectory = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "site directory" }; this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri) { GivenName = "John", Surname = "Doe" }; this.session.Setup(x => x.ActivePerson).Returns(this.person); this.session.Setup(x => x.Assembler).Returns(this.assembler); this.ParameterTypesBrowserViewModel = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, this.dialogNavigationService.Object, this.panelNavigationService.Object, null, null); }
public void Setup() { this.serviceLocator = new Mock <IServiceLocator>(); ServiceLocator.SetLocatorProvider(() => this.serviceLocator.Object); this.session = new Mock <ISession>(); this.panelNavigationService = new Mock <IPanelNavigationService>(); this.dialogNavigationService = new Mock <IThingDialogNavigationService>(); this.filterStringService = new Mock <IFilterStringService>(); this.permissionService = new Mock <IPermissionService>(); this.serviceLocator.Setup(x => x.GetInstance <IFilterStringService>()).Returns(this.filterStringService.Object); this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object); this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); this.favoritesService = new Mock <IFavoritesService>(); this.favoritesService.Setup(x => x.GetFavoriteItemsCollectionByType(It.IsAny <ISession>(), It.IsAny <Type>())) .Returns(new HashSet <Guid>()); this.favoritesService.Setup(x => x.SubscribeToChanges(It.IsAny <ISession>(), It.IsAny <Type>(), It.IsAny <Action <HashSet <Guid> > >())).Returns(new Mock <IDisposable>().Object); this.uri = new Uri("http://test.com"); this.assembler = new Assembler(this.uri); this.siteDirectory = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "site directory" }; this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri) { GivenName = "John", Surname = "Doe" }; this.session.Setup(x => x.ActivePerson).Returns(this.person); this.session.Setup(x => x.Assembler).Returns(this.assembler); this.ParameterTypesBrowserViewModel = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, this.dialogNavigationService.Object, this.panelNavigationService.Object, null, null, this.favoritesService.Object); }
/// <summary> /// Close all the panels and dispose of them /// </summary> private void CloseAll() { this.PanelNavigationService.CloseInAddIn(this.measurementUnitsBrowserViewModel); this.measurementUnitsBrowserViewModel = null; this.PanelNavigationService.CloseInAddIn(this.measurementScalesBrowserViewModel); this.measurementScalesBrowserViewModel = null; this.PanelNavigationService.CloseInAddIn(this.rulesBrowserViewModel); this.rulesBrowserViewModel = null; this.PanelNavigationService.CloseInAddIn(this.categoryBrowserViewModel); this.categoryBrowserViewModel = null; this.PanelNavigationService.CloseInAddIn(this.parameterTypesBrowserViewModel); this.parameterTypesBrowserViewModel = null; }