コード例 #1
0
ファイル: TinkarInput.cs プロジェクト: HL7/tinkar-cs
        /// <summary>
        /// Read an array or SemanticVersionDTO items.
        /// </summary>
        /// <param name="publicId">Public id (component ids).</param>
        /// <returns>SemanticVersionDTO[].</returns>
        public SemanticVersionDTO[] ReadSemanticVersionList(
            IPublicId publicId)
        {
            Int32 length = this.GetInt32();

            SemanticVersionDTO[] retVal = new SemanticVersionDTO[length];
            for (Int32 i = 0; i < length; i++)
            {
                retVal[i] = SemanticVersionDTO.Make(
                    this,
                    publicId);
            }

            return(retVal);
        }
コード例 #2
0
        /// <summary>
        /// Read SemanticVersionDTO values from the named child property.
        /// </summary>
        /// <param name="jObj">JSON parent container.</param>
        /// <param name = "publicId" > Public id(component ids).</param>
        /// <param name = "fieldName" > Json child field name.</param>
        /// <param name="definitionForSemanticPublicId">Externally defined definition for semantic uuids.</param>
        /// <param name="referencedComponentPublicId">Externally defined referenced component uuids.</param>
        /// <returns>Semantic version values.</returns>
        public static IEnumerable <SemanticVersionDTO> ReadSemanticVersionList(
            this JObject jObj,
            String fieldName,
            IPublicId publicId,
            IPublicId definitionForSemanticPublicId,
            IPublicId referencedComponentPublicId)
        {
            List <SemanticVersionDTO> retVal = new List <SemanticVersionDTO>();

            JArray items = jObj.ReadToken <JArray>(fieldName);

            foreach (JObject item in items.Values <JObject>())
            {
                retVal.Add(SemanticVersionDTO.Make(item, publicId));
            }
            return(retVal);
        }
コード例 #3
0
        public void SemanticVersionDTOMarshalTest()
        {
            SemanticVersionDTO dtoStart = Misc.CreateSemanticVersionDTO;

            MemoryStream ms = new MemoryStream();

            using (TinkarOutput output = new TinkarOutput(ms))
            {
                dtoStart.Marshal(output);
            }

            ms.Position = 0;
            using (TinkarInput input = new TinkarInput(ms))
            {
                SemanticVersionDTO dtoRead = SemanticVersionDTO.Make(input,
                                                                     dtoStart.PublicId);
                Assert.True(dtoStart.CompareTo(dtoRead) == 0);
            }
        }
コード例 #4
0
        public void SemanticVersionDTOJsonMarshal()
        {
            SemanticVersionDTO dtoStart = Misc.CreateSemanticVersionDTO;
            MemoryStream       ms       = new MemoryStream();

            using (TinkarJsonOutput output = new TinkarJsonOutput(ms, true))
            {
                dtoStart.Marshal(output);
            }

            ms.Dump();
            ms.Position = 0;
            using (TinkarJsonInput input = new TinkarJsonInput(ms))
            {
                SemanticVersionDTO dtoEnd = SemanticVersionDTO.Make(
                    input.ReadJsonObject(),
                    dtoStart.PublicId
                    );
                Assert.True(dtoStart.CompareTo(dtoEnd) == 0);
            }
        }