/// <summary>
 /// Create a <see cref="SimpleQuantityKind"/> to be added to the <see cref="RelationalExpression"/> when the <see cref="Build"/> method is used
 /// </summary>
 /// <returns><see cref="RelationalExpressionBuilder"/> "this"</returns>
 public RelationalExpressionBuilder WithSimpleQuantityKindParameterType()
 {
     this.parameterType = new SimpleQuantityKind
     {
         ClassKind = ClassKind.SimpleQuantityKind
     };
     return(this);
 }
コード例 #2
0
        /// <summary>
        /// Create a <see cref="SimpleQuantityKind"/> to be added to the <see cref="Parameter"/> when the <see cref="Build"/> method is used
        /// </summary>
        /// <returns><see cref="ParameterBuilder"/> "this"</returns>
        public ParameterBuilder WithSimpleQuantityKindParameterType()
        {
            this.parameterType = new SimpleQuantityKind
            {
                ClassKind = ClassKind.SimpleQuantityKind
            };

            return(this);
        }
        public void SetUp()
        {
            this.cache = new ConcurrentDictionary <CacheKey, Lazy <Thing> >();

            this.siteDirectory         = new SiteDirectory(Guid.NewGuid(), this.cache, this.uri);
            this.engineeringModelSetup = new EngineeringModelSetup(Guid.NewGuid(), this.cache, this.uri)
            {
                ShortName = "TST", Name = "Test"
            };
            this.iterationSetup = new IterationSetup(Guid.NewGuid(), this.cache, this.uri)
            {
                IterationNumber = 1, Description = "iteraiton 1"
            };
            this.engineeringModelSetup.IterationSetup.Add(this.iterationSetup);
            this.siteDirectory.Model.Add(this.engineeringModelSetup);
            this.person = new Person(Guid.NewGuid(), this.cache, this.uri)
            {
                GivenName = "John", Surname = "Doe"
            };
            this.domain = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri)
            {
                Name = "domain"
            };
            this.participant = new Participant(Guid.NewGuid(), this.cache, this.uri)
            {
                Person = this.person, SelectedDomain = this.domain
            };
            this.engineeringModel = new EngineeringModel(Guid.NewGuid(), this.cache, this.uri)
            {
                EngineeringModelSetup = this.engineeringModelSetup
            };
            this.iteration = new Iteration(Guid.NewGuid(), this.cache, this.uri)
            {
                IterationSetup = this.iterationSetup
            };
            this.engineeringModel.Iteration.Add(this.iteration);
            this.modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), this.cache, this.uri);
            this.siteReferenceDataLibrary  = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, this.uri);
            this.engineeringModelSetup.RequiredRdl.Add(this.modelReferenceDataLibrary);
            this.modelReferenceDataLibrary.RequiredRdl = this.siteReferenceDataLibrary;
            this.siteDirectory.SiteReferenceDataLibrary.Add(this.siteReferenceDataLibrary);

            this.session           = new Mock <ISession>();
            this.permissionService = new Mock <IPermissionService>();

            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDirectory);
            this.session.Setup(x => x.ActivePerson).Returns(this.person);
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.session.Setup(x => x.QuerySelectedDomainOfExpertise(this.iteration)).Returns(this.domain);

            // PossibleElementDefinitionCategory
            this.elementDefinitionCategory_1 = new Category(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Batteries",
                ShortName = "BAT"
            };

            this.elementDefinitionCategory_1.PermissibleClass.Add(ClassKind.ElementDefinition);
            this.siteReferenceDataLibrary.DefinedCategory.Add(this.elementDefinitionCategory_1);

            this.elementDefinitionCategory_2 = new Category(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Reaction Wheels",
                ShortName = "RW"
            };

            this.elementDefinitionCategory_2.PermissibleClass.Add(ClassKind.ElementDefinition);
            this.siteReferenceDataLibrary.DefinedCategory.Add(this.elementDefinitionCategory_2);

            // PossibleActualFiniteStateList
            this.possibleFiniteStateList = new PossibleFiniteStateList(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "System Modes",
                ShortName = "SM",
                Owner     = this.domain
            };

            this.possibleFiniteState_on = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "On",
                ShortName = "On"
            };

            this.possibleFiniteStateList.PossibleState.Add(this.possibleFiniteState_on);

            this.possibleFiniteState_off = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Off",
                ShortName = "Off"
            };

            this.possibleFiniteStateList.PossibleState.Add(this.possibleFiniteState_off);

            this.possibleFiniteState_standby = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "stand by",
                ShortName = "stby"
            };

            this.possibleFiniteStateList.PossibleState.Add(this.possibleFiniteState_standby);
            this.iteration.PossibleFiniteStateList.Add(this.possibleFiniteStateList);

            this.actualFiniteStateList = new ActualFiniteStateList(Guid.NewGuid(), this.cache, this.uri);
            this.actualFiniteStateList.PossibleFiniteStateList.Add(this.possibleFiniteStateList);
            this.actualFinitateSte_on = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri);
            this.actualFiniteStateList.ActualState.Add(this.actualFinitateSte_on);
            this.actualFinitateSte_on.PossibleState.Add(this.possibleFiniteState_on);
            this.actualFinitateSte_off = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri);
            this.actualFiniteStateList.ActualState.Add(this.actualFinitateSte_off);
            this.actualFinitateSte_off.PossibleState.Add(this.possibleFiniteState_off);
            this.actualFinitateSte_standby = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri);
            this.actualFiniteStateList.ActualState.Add(this.actualFinitateSte_standby);
            this.actualFinitateSte_standby.PossibleState.Add(this.possibleFiniteState_standby);
            this.iteration.ActualFiniteStateList.Add(this.actualFiniteStateList);

            this.sourceParameterType_1 = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "QuantityKind",
                ShortName = "QK"
            };

            this.sourceParameterTypes_1 =
                new List <ParameterType>
            {
                this.sourceParameterType_1
            };

            // PossibleTargetMappingParameterType
            this.mappingParameterType_1 = new TextParameterType(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Mapping 1",
                ShortName = "map1"
            };

            this.siteReferenceDataLibrary.ParameterType.Add(this.mappingParameterType_1);

            this.mappingParameterType_2 = new TextParameterType(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Mapping 2",
                ShortName = "map2"
            };

            this.siteReferenceDataLibrary.ParameterType.Add(this.mappingParameterType_2);

            // PossibleTargetValueParameterType
            this.valueParameterType_1 = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Power Consumption",
                ShortName = "PWC"
            };

            this.siteReferenceDataLibrary.ParameterType.Add(this.valueParameterType_1);

            this.simpleQuantityKind_2 = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Duty Cycle",
                ShortName = "DC"
            };

            this.siteReferenceDataLibrary.ParameterType.Add(this.simpleQuantityKind_2);

            // ElementDefinitions
            this.rootElementDefinition = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "Satellite",
                ShortName = "SAT"
            };

            this.iteration.Element.Add(this.rootElementDefinition);

            this.elementDefinition_1 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri)
            {
                Name      = "reaction wheel",
                ShortName = "RW"
            };

            var sourceParameterValueset1 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "100"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL
            };

            var sourceParameter_1 = new Parameter(Guid.NewGuid(), this.cache, this.uri)
            {
                ParameterType = this.sourceParameterType_1,
                Owner         = this.domain,
                ValueSet      = { sourceParameterValueset1 }
            };

            var mappingParameterValueset1 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL
            };

            var mappingParameter_1 = new Parameter(Guid.NewGuid(), this.cache, this.uri)
            {
                ParameterType = this.mappingParameterType_1,
                Owner         = this.domain,
                ValueSet      = { mappingParameterValueset1 }
            };

            var valueParameterValueset1_1 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL,
                ActualState = this.actualFinitateSte_on
            };

            var valueParameterValueset1_2 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL,
                ActualState = this.actualFinitateSte_off
            };

            var valueParameterValueset1_3 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL,
                ActualState = this.actualFinitateSte_standby
            };

            var valueParameter_1 = new Parameter(Guid.NewGuid(), this.cache, this.uri)
            {
                ParameterType   = this.valueParameterType_1,
                Owner           = this.domain,
                StateDependence = this.actualFiniteStateList,
                ValueSet        = { valueParameterValueset1_1, valueParameterValueset1_2, valueParameterValueset1_3 }
            };

            this.elementDefinition_1.Parameter.Add(sourceParameter_1);
            this.elementDefinition_1.Parameter.Add(mappingParameter_1);
            this.elementDefinition_1.Parameter.Add(valueParameter_1);

            this.elementDefinition_1.Category.Add(this.elementDefinitionCategory_2);
            this.iteration.Element.Add(this.elementDefinition_1);

            //ElementUsages
            this.elementUsage_1 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri)
            {
                Name              = "reaction wheel 1",
                ShortName         = "RW_1",
                ElementDefinition = this.elementDefinition_1
            };

            var sourceParameterOverrideValueset1 = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "100"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL
            };

            var sourceParameterOverride_1 = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri)
            {
                Parameter = sourceParameter_1,
                ValueSet  = { sourceParameterOverrideValueset1 }
            };

            this.parameterToStateMapping_1 = new ParameterToStateMapping("100", this.sourceParameterType_1, this.actualFinitateSte_on, "");
            this.parameterToStateMapping_2 = new ParameterToStateMapping("100", this.sourceParameterType_1, this.actualFinitateSte_off, "");

            this.parameterToStateMappingList = new[] { this.parameterToStateMapping_1, this.parameterToStateMapping_2 };

            var mappingParameterOverrideValueset1 = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    JsonConvert.SerializeObject(this.parameterToStateMappingList)
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch = ParameterSwitchKind.MANUAL
            };

            var mappingParameterOverride_1 = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri)
            {
                Parameter = mappingParameter_1,
                ValueSet  = { mappingParameterOverrideValueset1 }
            };

            var valueParameterOverrideValueset1_1 = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "100"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch       = ParameterSwitchKind.MANUAL,
                ParameterValueSet = valueParameterValueset1_1
            };

            var valueParameterOverrideValueset1_2 = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "150"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch       = ParameterSwitchKind.MANUAL,
                ParameterValueSet = valueParameterValueset1_2
            };

            var valueParameterOverrideValueset1_3 = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri)
            {
                Manual = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Reference = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Computed = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Formula = new ValueArray <string>(new List <string> {
                    "-"
                }),
                Published = new ValueArray <string>(new List <string> {
                    "-"
                }),
                ValueSwitch       = ParameterSwitchKind.MANUAL,
                ParameterValueSet = valueParameterValueset1_3
            };

            var valueParameterOverride_1 = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri)
            {
                Parameter = valueParameter_1,
                ValueSet  = { valueParameterOverrideValueset1_1, valueParameterOverrideValueset1_2, valueParameterOverrideValueset1_3 }
            };

            this.elementUsage_1.ParameterOverride.Add(sourceParameterOverride_1);
            this.elementUsage_1.ParameterOverride.Add(mappingParameterOverride_1);
            this.elementUsage_1.ParameterOverride.Add(valueParameterOverride_1);

            this.rootElementDefinition.ContainedElement.Add(this.elementUsage_1);

            this.elementUsage_2 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri)
            {
                Name              = "reaction wheel 2",
                ShortName         = "RW_2",
                ElementDefinition = this.elementDefinition_1
            };

            this.rootElementDefinition.ContainedElement.Add(this.elementUsage_2);

            this.elementUsage_3 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri)
            {
                Name              = "reaction wheel 3",
                ShortName         = "RW_3",
                ElementDefinition = this.elementDefinition_1
            };

            this.rootElementDefinition.ContainedElement.Add(this.elementUsage_3);
        }
コード例 #4
0
        public void SetUp()
        {
            this.domain = new DomainOfExpertise(Guid.NewGuid(), null, null)
            {
                Name = "domain", ShortName = "d"
            };
            this.scalarParameterTypeShortname = "m";

            var simpleQuantityKind = new SimpleQuantityKind(Guid.NewGuid(), null, null)
            {
                ShortName = this.scalarParameterTypeShortname
            };

            this.scalarParameterType = simpleQuantityKind;

            this.edShortname       = "Sat";
            this.elementDefinition = new ElementDefinition(Guid.NewGuid(), null, null)
            {
                Owner = this.domain, ShortName = this.edShortname
            };

            this.scalarParameter = new Parameter(Guid.NewGuid(), null, null)
            {
                Owner = this.domain
            };
            this.scalarParameter.ParameterType = this.scalarParameterType;
            this.elementDefinition.Parameter.Add(this.scalarParameter);

            this.compoundParameterTypeShortname  = "coord";
            this.compoundParameterType           = new CompoundParameterType(Guid.NewGuid(), null, null);
            this.compoundParameterType.ShortName = this.compoundParameterTypeShortname;
            this.component = new ParameterTypeComponent(Guid.NewGuid(), null, null)
            {
                ParameterType = this.scalarParameterType
            };
            this.component.ShortName = this.scalarParameterType.ShortName;
            this.compoundParameterType.Component.Add(this.component);

            this.compoundParameter = new Parameter(Guid.NewGuid(), null, null)
            {
                Owner = this.domain, ParameterType = this.compoundParameterType
            };
            this.elementDefinition.Parameter.Add(this.compoundParameter);

            this.iteration = new Iteration(Guid.NewGuid(), null, null);
            this.option1   = new Option(Guid.NewGuid(), null, null)
            {
                Name = "option1", ShortName = "o1"
            };
            this.option2 = new Option(Guid.NewGuid(), null, null)
            {
                Name = "option2", ShortName = "o2"
            };

            this.possibleList = new PossibleFiniteStateList(Guid.NewGuid(), null, null)
            {
                Name = "possible list", ShortName = "pl"
            };
            this.possibleState1 = new PossibleFiniteState(Guid.NewGuid(), null, null)
            {
                Name = "ps1", ShortName = "ps1"
            };
            this.possibleState2 = new PossibleFiniteState(Guid.NewGuid(), null, null)
            {
                Name = "ps2", ShortName = "ps2"
            };
            this.possibleList.PossibleState.Add(this.possibleState1);
            this.possibleList.PossibleState.Add(this.possibleState2);

            this.actualList = new ActualFiniteStateList(Guid.NewGuid(), null, null);
            this.actualList.PossibleFiniteStateList.Add(this.possibleList);
            this.actualState1 = new ActualFiniteState(Guid.NewGuid(), null, null);
            this.actualState1.PossibleState.Add(this.possibleState1);
            this.actualState2 = new ActualFiniteState(Guid.NewGuid(), null, null);
            this.actualState2.PossibleState.Add(this.possibleState2);
            this.actualList.ActualState.Add(this.actualState1);
            this.actualList.ActualState.Add(this.actualState2);

            this.iteration.Option.Add(this.option1);
            this.iteration.Option.Add(this.option2);
            this.iteration.PossibleFiniteStateList.Add(this.possibleList);
            this.iteration.ActualFiniteStateList.Add(this.actualList);
            this.iteration.Element.Add(this.elementDefinition);
        }