public void VerifyThatCreateValueSetsUpdateOperationsWorksStateOptionDependent() { var valueset1 = new ParameterValueSet(Guid.NewGuid(), this.assembler.Cache, this.uri); valueset1.Manual = new ValueArray <string>(manual); this.parameter1.ValueSet.Add(valueset1); valueset1.ActualOption = this.option1; valueset1.ActualState = this.as1; var valueset2 = new ParameterValueSet(Guid.NewGuid(), this.assembler.Cache, this.uri); valueset2.Manual = new ValueArray <string>(); this.parameter1.ValueSet.Add(valueset2); valueset2.ActualOption = this.option2; valueset2.ActualState = this.as1; this.parameter1.IsOptionDependent = true; this.parameter1Copy.IsOptionDependent = true; this.parameter1.StateDependence = this.asl1; var modeldto = this.model2.ToDto(); var iterationDto = (Dto.Iteration) this.iteration2.ToDto(); var def2Dto = new Dto.ElementDefinition(this.def2Copy.Iid, 2); var parameterDto = new Dto.Parameter(this.parameter1Copy.Iid, 2); parameterDto.IsOptionDependent = true; var newValueSet = new Dto.ParameterValueSet(Guid.NewGuid(), 2); iterationDto.Element.Add(def2Dto.Iid); def2Dto.Parameter.Add(parameterDto.Iid); parameterDto.ValueSet.Add(newValueSet.Iid); var returnedDto = new List <Dto.Thing> { modeldto, iterationDto, def2Dto, parameterDto, newValueSet }; var transactionContext = TransactionContextResolver.ResolveContext(this.iteration2); var context = transactionContext.ContextRoute(); var operationCreator = new ValueSetOperationCreator(this.session.Object); var operationContainer = operationCreator.CreateValueSetsUpdateOperations(context, returnedDto, this.map); var operation = operationContainer.Operations.Single(); var original = (Dto.ParameterValueSet)operation.OriginalThing; var modified = (Dto.ParameterValueSet)operation.ModifiedThing; Assert.AreNotEqual(original.Manual, modified.Manual); }
public void VerifyThatCreateValueSetsUpdateOperationsWorks() { var valueset = new ParameterValueSet(Guid.NewGuid(), this.assembler.Cache, this.uri); valueset.Manual = new ValueArray <string>(manual); this.parameter1.ValueSet.Add(valueset); var subscriptionvalueset = new ParameterSubscriptionValueSet(Guid.NewGuid(), this.assembler.Cache, this.uri); subscriptionvalueset.Manual = new ValueArray <string>(manual); this.subscription1.ValueSet.Add(subscriptionvalueset); var modeldto = this.model2.ToDto(); var iterationDto = (Dto.Iteration) this.iteration2.ToDto(); var def2Dto = new Dto.ElementDefinition(this.def2Copy.Iid, 2); var parameterDto = new Dto.Parameter(this.parameter1Copy.Iid, 2); var newValueSet = new Dto.ParameterValueSet(Guid.NewGuid(), 2); var subscription = new Dto.ParameterSubscription(this.subscriptionCopy.Iid, 1); var subscriptionValueSet = new Dto.ParameterSubscriptionValueSet(Guid.NewGuid(), 1); iterationDto.Element.Add(def2Dto.Iid); def2Dto.Parameter.Add(parameterDto.Iid); parameterDto.ValueSet.Add(newValueSet.Iid); parameterDto.ParameterSubscription.Add(subscription.Iid); subscription.ValueSet.Add(subscriptionValueSet.Iid); var returnedDto = new List <Dto.Thing> { modeldto, iterationDto, def2Dto, parameterDto, newValueSet, subscription, subscriptionValueSet }; var transactionContext = TransactionContextResolver.ResolveContext(this.iteration2); var context = transactionContext.ContextRoute(); var operationCreator = new ValueSetOperationCreator(this.session.Object); var operationContainer = operationCreator.CreateValueSetsUpdateOperations(context, returnedDto, this.map); Assert.AreEqual(2, operationContainer.Operations.Count()); var operation = operationContainer.Operations.Single(x => x.OriginalThing.ClassKind == ClassKind.ParameterValueSet); var originalPvs = (Dto.ParameterValueSet)operation.OriginalThing; var modifiedPvs = (Dto.ParameterValueSet)operation.ModifiedThing; Assert.AreNotEqual(originalPvs.Manual, modifiedPvs.Manual); }
public void VerifyInvalidOperationException() { var valueset1 = new ParameterValueSet(Guid.NewGuid(), this.assembler.Cache, this.uri); valueset1.Manual = new ValueArray <string>(manual); this.parameter1.ValueSet.Add(valueset1); valueset1.ActualOption = this.option1; valueset1.ActualState = this.as1; var modeldto = this.model2.ToDto(); var iterationDto = (Dto.Iteration) this.iteration2.ToDto(); var def2Dto = new Dto.ElementDefinition(this.def2Copy.Iid, 2); var parameterDto = new Dto.Parameter(this.parameter1Copy.Iid, 2); parameterDto.IsOptionDependent = true; var newValueSet = new Dto.ParameterValueSet(Guid.NewGuid(), 2); iterationDto.Element.Add(def2Dto.Iid); def2Dto.Parameter.Add(parameterDto.Iid); parameterDto.ValueSet.Add(newValueSet.Iid); var returnedDto = new List <Dto.Thing> { iterationDto, def2Dto, parameterDto, newValueSet }; var transactionContext = TransactionContextResolver.ResolveContext(this.iteration2); var context = transactionContext.ContextRoute(); var operationCreator = new ValueSetOperationCreator(this.session.Object); Assert.Throws <InvalidOperationException>(() => operationCreator.CreateValueSetsUpdateOperations(context, returnedDto, this.map)); }