public void VerifyThatParameterNotInRdlCannotBeDropped() { this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); var domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri); var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Owner = domainOfExpertise; var parameterGroup = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.ParameterGroup.Add(parameterGroup); this.iteration.Element.Add(elementDefinition); var row = new ParameterGroupRowViewModel(parameterGroup, domainOfExpertise, this.session.Object, null); var simpleQuantityKind = new SimpleQuantityKind(Guid.NewGuid(), this.assembler.Cache, this.uri); var ratioScale = new RatioScale(Guid.NewGuid(), null, null); simpleQuantityKind.DefaultScale = ratioScale; var payload = new Tuple <ParameterType, MeasurementScale>(simpleQuantityKind, ratioScale); var dropInfo = new Mock <IDropInfo>(); dropInfo.Setup(x => x.Payload).Returns(payload); dropInfo.SetupProperty(x => x.Effects); row.DragOver(dropInfo.Object); Assert.AreEqual(DragDropEffects.None, dropInfo.Object.Effects); }
public void VerifyThatPropertiesAreSet() { var vm = new ParameterGroupRowViewModel(this.group1, this.session.Object, null); Assert.AreEqual("group1", vm.Name); Assert.AreEqual("group1", vm.ShortName); }
public async Task VerifyThatGroupMayBeDropped() { var domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri); var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Owner = domainOfExpertise; var parameterGroup = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.ParameterGroup.Add(parameterGroup); this.iteration.Element.Add(elementDefinition); var row = new ParameterGroupRowViewModel(parameterGroup, domainOfExpertise, this.session.Object, null); var gr2 = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); this.assembler.Cache.TryAdd(new CacheKey(gr2.Iid, this.iteration.Iid), new Lazy <Thing>(() => gr2)); elementDefinition.ParameterGroup.Add(gr2); var dropinfo = new Mock <IDropInfo>(); dropinfo.Setup(x => x.Payload).Returns(gr2); dropinfo.SetupProperty(x => x.Effects); row.DragOver(dropinfo.Object); Assert.AreEqual(DragDropEffects.Move, dropinfo.Object.Effects); await row.Drop(dropinfo.Object); this.session.Verify(x => x.Write(It.IsAny <OperationContainer>())); }
public async Task VerifyThatParameterCanBeDropped() { var domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri); var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Owner = domainOfExpertise; var parameterGroup = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.ParameterGroup.Add(parameterGroup); this.iteration.Element.Add(elementDefinition); var row = new ParameterGroupRowViewModel(parameterGroup, domainOfExpertise, this.session.Object, null); var payload = new Parameter(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Parameter.Add(payload); this.assembler.Cache.TryAdd(new CacheKey(payload.Iid, this.iteration.Iid), new Lazy <Thing>(() => payload)); var dropInfo = new Mock <IDropInfo>(); dropInfo.Setup(x => x.Payload).Returns(payload); dropInfo.SetupProperty(x => x.Effects); row.DragOver(dropInfo.Object); await row.Drop(dropInfo.Object); this.session.Verify(x => x.Write(It.Is <OperationContainer>(op => ((CDP4Common.DTO.Parameter)op.Operations.Single().ModifiedThing).Group == parameterGroup.Iid))); }
public async Task VerifyThatParameterGetsCreatedWhenParameterTypeIsDropped() { var domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri); var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Owner = domainOfExpertise; var parameterGroup = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.ParameterGroup.Add(parameterGroup); var row = new ParameterGroupRowViewModel(parameterGroup, domainOfExpertise, this.session.Object, null); row.ThingCreator = this.thingCreator.Object; var simpleQuantityKind = new SimpleQuantityKind(Guid.NewGuid(), this.assembler.Cache, this.uri); var ratioScale = new RatioScale(Guid.NewGuid(), null, null); simpleQuantityKind.DefaultScale = ratioScale; var payload = new Tuple <ParameterType, MeasurementScale>(simpleQuantityKind, ratioScale); var dropInfo = new Mock <IDropInfo>(); dropInfo.Setup(x => x.Payload).Returns(payload); dropInfo.SetupProperty(x => x.Effects); await row.Drop(dropInfo.Object); this.thingCreator.Verify(x => x.CreateParameter(elementDefinition, parameterGroup, simpleQuantityKind, ratioScale, domainOfExpertise, this.session.Object)); }
public void VerifyThatRowsAreInsertedCorrectly() { var list = new ReactiveList <IRowViewModelBase <Thing> >(); var comparer = new ParameterGroupChildRowComparer(); var parameter1 = new Parameter(Guid.NewGuid(), null, this.uri) { ParameterType = this.type, Owner = this.domain, Container = this.elementDef }; parameter1.ValueSet.Add(this.valueSet); var subscription = new ParameterSubscription(Guid.NewGuid(), null, this.uri); parameter1.ParameterSubscription.Add(subscription); var parameterRow1 = new ParameterRowViewModel(parameter1, this.session.Object, null, false); var group1 = new ParameterGroup(Guid.NewGuid(), null, this.uri) { Name = "a" }; var groupRow1 = new ParameterGroupRowViewModel(group1, this.domain, this.session.Object, null); var group2 = new ParameterGroup(Guid.NewGuid(), null, this.uri) { Name = "b" }; var groupRow2 = new ParameterGroupRowViewModel(group2, this.domain, this.session.Object, null); var subscriptionRow = new ParameterSubscriptionRowViewModel(subscription, this.session.Object, null, false); list.SortedInsert(parameterRow1, comparer); list.SortedInsert(groupRow1, comparer); list.SortedInsert(groupRow2, comparer); list.SortedInsert(subscriptionRow, comparer); Assert.AreSame(subscriptionRow, list[0]); Assert.AreSame(parameterRow1, list[1]); Assert.AreSame(groupRow1, list[2]); Assert.AreSame(groupRow2, list[3]); }
public void VerifyThatGroupMayBeDraggedWithPermission() { var domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri); var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Owner = domainOfExpertise; var parameterGroup = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.ParameterGroup.Add(parameterGroup); this.iteration.Element.Add(elementDefinition); var row = new ParameterGroupRowViewModel(parameterGroup, domainOfExpertise, this.session.Object, null); var draginfo = new Mock <IDragInfo>(); draginfo.SetupProperty(x => x.Payload); draginfo.SetupProperty(x => x.Effects); row.StartDrag(draginfo.Object); Assert.AreEqual(DragDropEffects.All, draginfo.Object.Effects); Assert.AreSame(parameterGroup, draginfo.Object.Payload); }
public void VerifyThatGroupMayNotBeDraggedWithoutPermission() { this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(false); var domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri); var elementDefinition = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.Owner = domainOfExpertise; var parameterGroup = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); elementDefinition.ParameterGroup.Add(parameterGroup); this.iteration.Element.Add(elementDefinition); var row = new ParameterGroupRowViewModel(parameterGroup, domainOfExpertise, this.session.Object, null); var draginfo = new Mock <IDragInfo>(); draginfo.SetupProperty(x => x.Payload); draginfo.SetupProperty(x => x.Effects); row.StartDrag(draginfo.Object); Assert.AreEqual(DragDropEffects.None, draginfo.Object.Effects); }
public void VerifyThatRowsAreInsertedCorrectly() { var list = new ReactiveList <IRowViewModelBase <Thing> >(); var comparer = new ElementBaseChildRowComparer(); var parameter1 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.type, Owner = this.domain, Container = this.elementDef }; parameter1.ValueSet.Add(this.valueSet); var parameterRow1 = new ParameterRowViewModel(parameter1, this.session.Object, null, false); var typeClone = this.type.Clone(false); typeClone.Name = "b"; var paraClone = parameter1.Clone(false); paraClone.ParameterType = typeClone; var parameterRow2 = new ParameterRowViewModel(paraClone, this.session.Object, null, false) { Name = "b" }; var group1 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri) { Name = "a" }; var groupRow1 = new ParameterGroupRowViewModel(group1, this.domain, this.session.Object, null); var group2 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri) { Name = "b" }; var groupRow2 = new ParameterGroupRowViewModel(group2, this.domain, this.session.Object, null); var usage1 = this.elementUsage.Clone(false); usage1.Name = "def"; var usageRow1 = new ElementUsageRowViewModel(usage1, this.domain, this.session.Object, null); var usage2 = this.elementUsage.Clone(false); usage2.Name = "abc"; var usageRow2 = new ElementUsageRowViewModel(usage2, this.domain, this.session.Object, null); var usage3 = this.elementUsage.Clone(false); usage3.Name = "ghi"; var usageRow3 = new ElementUsageRowViewModel(usage3, this.domain, this.session.Object, null); list.SortedInsert(usageRow1, comparer); list.SortedInsert(usageRow3, comparer); list.SortedInsert(parameterRow1, comparer); list.SortedInsert(groupRow1, comparer); list.SortedInsert(parameterRow2, comparer); list.SortedInsert(groupRow2, comparer); list.SortedInsert(usageRow2, comparer); Assert.AreSame(parameterRow1, list[0]); Assert.AreSame(parameterRow2, list[1]); Assert.AreSame(groupRow1, list[2]); Assert.AreSame(groupRow2, list[3]); Assert.AreSame(usageRow2, list[4]); Assert.AreSame(usageRow1, list[5]); Assert.AreSame(usageRow3, list[6]); }