예제 #1
0
        public void PatternVersionDTOFieldsTest()
        {
            FieldDefinitionDTO fdoa = Misc.CreateFieldDefinition;
            FieldDefinitionDTO fdob = Misc.CreateFieldDefinition with
            {
                DataTypePublicId = new PublicId(Misc.g2, Misc.g2, Misc.g3, Misc.g4)
            }
            ;

            PatternVersionDTO dtoStart = new PatternVersionDTO(
                Misc.PublicIdG,
                Misc.CreateStampDTO,
                Misc.PublicIdH,
                Misc.PublicIdI,
                new FieldDefinitionDTO[] { fdoa, fdob }.ToImmutableArray()
                );

            Misc.Compare(dtoStart.PublicId, Misc.PublicIdG);
            Assert.True(dtoStart.StampDTO.CompareTo(Misc.CreateStampDTO) == 0);
            Misc.Compare(dtoStart.FieldDefinitions,
                         new FieldDefinitionDTO[]
            {
                Misc.CreateFieldDefinition,
                Misc.CreateFieldDefinition with
                {
                    DataTypePublicId = new PublicId(Misc.g2, Misc.g2, Misc.g3, Misc.g4)
                }
            }
예제 #2
0
        public void PBToDTOPatternVersion()
        {
            PatternVersionDTO dtoStart = Misc.CreatePatternVersionDTO;
            PBPatternVersion  pb       = dtoStart.ToPBPatternVersion();
            PatternVersionDTO dtoEnd   = pb.ToPatternVersion();

            Assert.True(dtoStart.CompareTo(dtoEnd) == 0);
        }
예제 #3
0
        /// <summary>
        /// Read PatternForSemanticVersionDTO values from the named child property.
        /// </summary>
        /// <param name="jObj">JSON parent container.</param>
        /// <param name = "publicId" > Public id(component ids).</param>
        /// <returns>Definition for semantic version values.</returns>
        public static IEnumerable <PatternVersionDTO> ReadPatternVersionList(
            this JObject jObj,
            IPublicId publicId)
        {
            List <PatternVersionDTO> retVal = new List <PatternVersionDTO>();
            JArray items = jObj.ReadToken <JArray>(ComponentFieldForJson.DEFINITION_VERSIONS);

            foreach (JObject item in items.Values <JObject>())
            {
                retVal.Add(PatternVersionDTO.Make(item, publicId));
            }
            return(retVal);
        }
예제 #4
0
        public static PBPatternVersion ToPBPatternVersion(this PatternVersionDTO c)
        {
            //# Tested
            PBPatternVersion retVal = new PBPatternVersion
            {
                PublicId = c.PublicId.ToPBPublicId(),
                Stamp    = c.Stamp.ToPBStamp(),
                ReferencedComponentPurpose = c.ReferencedComponentPurposePublicId.ToPBPublicId(),
                ReferencedComponentMeaning = c.ReferencedComponentMeaningPublicId.ToPBPublicId(),
            };

            retVal.FieldDefinitions.AddRange(c.FieldDefinitions.ToPBFieldDefinitions());
            return(retVal);
        }
예제 #5
0
        /// <summary>
        /// Read an array or TypePatternVersionDTO items.
        /// </summary>
        /// <param name="publicId">Public id (component ids).</param>
        /// <returns>TypePatternVersionDTO[].</returns>
        public PatternVersionDTO[] GetPatternVersionList(IPublicId publicId)
        {
            Int32 length = this.GetInt32();

            PatternVersionDTO[] retVal = new PatternVersionDTO[length];

            // Generate array to avoid multiple enumerations of componentUuids.
            Guid[] componentUuidArr = publicId.AsUuidArray;
            for (Int32 i = 0; i < length; i++)
            {
                retVal[i] = PatternVersionDTO.Make(this, publicId);
            }
            return(retVal);
        }
예제 #6
0
        public static PatternChronologyDTO ToPatternChronology(this PBPatternChronology c)
        {
            //# Tested
            PatternVersionDTO[] versions = new PatternVersionDTO[c.Versions.Count];
            for (Int32 i = 0; i < c.Versions.Count; i++)
            {
                versions[i] = c.Versions[i].ToPatternVersion();
            }

            PatternChronologyDTO retVal = new PatternChronologyDTO(
                c.PublicId.ToPublicId(),
                versions.ToImmutableArray());

            return(retVal);
        }