Пример #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
        /// <summary>
        /// Get the field definitions from PCO.
        /// </summary>
        /// <returns></returns>
        private static List <FieldDefinitionDTO> GetFieldDefinitions()
        {
            var fields = new List <FieldDefinitionDTO>();

            var apiOptions = new Dictionary <string, string>
            {
                { "include", "field_options,tab" }
            };

            var fieldQuery = GetAPIQuery(ApiEndpoint.API_FIELD_DEFINITIONS, apiOptions);

            if (fieldQuery == null)
            {
                return(fields);
            }

            foreach (var item in fieldQuery.Items)
            {
                var field = new FieldDefinitionDTO(item, fieldQuery.IncludedItems);
                if (field != null && field.DataType != "header")
                {
                    fields.Add(field);
                }
            }
            return(fields);
        }
Пример #3
0
        /// <summary>
        /// Read FieldDefinitionDTO values from the named child property.
        /// </summary>
        /// <param name="jObj">JSON parent container.</param>
        /// <param name="fieldName">JSON child field name.</param>
        /// <returns>Field definition values.</returns>
        public static IEnumerable <FieldDefinitionDTO> AsFieldDefinitionList(this JObject jObj, String fieldName)
        {
            List <FieldDefinitionDTO> retVal = new List <FieldDefinitionDTO>();
            JArray items = jObj.ReadToken <JArray>(fieldName);

            foreach (JObject item in items.Values <JObject>())
            {
                retVal.Add(FieldDefinitionDTO.Make(item));
            }
            return(retVal);
        }
Пример #4
0
        /// <summary>
        /// Read an array or FieldDefinitionDTO items.
        /// </summary>
        /// <returns>FieldDefinitionDTO[].</returns>
        public FieldDefinitionDTO[] GetFieldDefinitionList()
        {
            Int32 length = this.GetInt32();

            FieldDefinitionDTO[] retVal = new FieldDefinitionDTO[length];
            for (Int32 i = 0; i < length; i++)
            {
                retVal[i] = FieldDefinitionDTO.Make(this);
            }
            return(retVal);
        }
Пример #5
0
        public void FieldDefinitionDTOFieldsTest()
        {
            FieldDefinitionDTO dtoStart = new FieldDefinitionDTO(
                Misc.PublicIdG,
                Misc.PublicIdH,
                Misc.PublicIdI
                );

            Misc.Compare(dtoStart.DataTypePublicId, Misc.g1, Misc.g2, Misc.g3, Misc.g4);
            Misc.Compare(dtoStart.PurposePublicId, Misc.h1, Misc.h2, Misc.h3, Misc.h4);
            Misc.Compare(dtoStart.MeaningPublicId, Misc.i1, Misc.i2, Misc.i3, Misc.i4);
        }
Пример #6
0
        public void FieldDefinitionDTOJsonMarshal()
        {
            FieldDefinitionDTO dtoStart = Misc.CreateFieldDefinitionDTO;
            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))
            {
                FieldDefinitionDTO dtoEnd = FieldDefinitionDTO.Make(input.ReadJsonObject());
                Assert.True(dtoStart.CompareTo(dtoEnd) == 0);
            }
        }
Пример #7
0
        public void FieldDefinitionDTOMarshalTest()
        {
            FieldDefinitionDTO dtoStart = new FieldDefinitionDTO(
                Misc.PublicIdG,
                Misc.PublicIdH,
                Misc.PublicIdI
                );

            MemoryStream ms = new MemoryStream();

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

            ms.Position = 0;
            using (TinkarInput input = new TinkarInput(ms))
            {
                FieldDefinitionDTO dtoRead = FieldDefinitionDTO.Make(input);
                Assert.True(dtoStart.CompareTo(dtoRead) == 0);
            }
        }
Пример #8
0
        public void FieldDefinitionDTOCompareToTest()
        {
            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition;
                Assert.True(a.CompareTo(b) == 0);
            }

            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition with
                {
                    DataTypePublicId = new PublicId(Misc.g2, Misc.g2, Misc.g3, Misc.g4)
                }
                ;
                Assert.False(a.CompareTo(b) == 0);
            }

            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition with
                {
                    PurposePublicId = new PublicId(Misc.h1)
                };
                Assert.False(a.CompareTo(b) == 0);
            }

            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition with
                {
                    MeaningPublicId = new PublicId(Misc.i1, Misc.i2, Misc.i3, Misc.i3)
                };
                Assert.False(a.CompareTo(b) == 0);
            }
        }
Пример #9
0
        public void FieldDefinitionDTOIsEquivalentTest()
        {
            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition;
                Assert.True(a.IsEquivalent(b));
            }

            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition with
                {
                    DataTypePublicId = new PublicId(Misc.other)
                }
                ;
                Assert.False(a.IsEquivalent(b));
            }

            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition with
                {
                    PurposePublicId = new PublicId(Misc.other)
                };
                Assert.False(a.IsEquivalent(b));
            }

            {
                FieldDefinitionDTO a = Misc.CreateFieldDefinition;
                FieldDefinitionDTO b = Misc.CreateFieldDefinition with
                {
                    MeaningPublicId = new PublicId(Misc.other)
                };
                Assert.False(a.IsEquivalent(b));
            }
        }