Ejemplo n.º 1
0
        public void PartitionHealthSerializationTest()
        {
            PartitionHealth partitionHealth = this.random.CreateRandom <PartitionHealth>();

            var replicaHealthState = new StatefulServiceReplicaHealthState()
            {
                AggregatedHealthState = this.random.CreateRandom <HealthState>(),
                PartitionId           = partitionHealth.PartitionId,
                Id = this.random.Next()
            };

            partitionHealth.ReplicaHealthStates = new List <ReplicaHealthState>();
            partitionHealth.ReplicaHealthStates.Add(replicaHealthState);

            TestUsingSerializer(this.Serializer, partitionHealth);
        }
        /// <summary>
        /// Serializes the object to JSON.
        /// </summary>
        /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param>
        /// <param name="obj">The object to serialize to JSON.</param>
        internal static void Serialize(JsonWriter writer, StatefulServiceReplicaHealthState obj)
        {
            // Required properties are always serialized, optional properties are serialized when not null.
            writer.WriteStartObject();
            writer.WriteProperty(obj.AggregatedHealthState, "AggregatedHealthState", HealthStateConverter.Serialize);
            if (obj.PartitionId != null)
            {
                writer.WriteProperty(obj.PartitionId, "PartitionId", PartitionIdConverter.Serialize);
            }

            if (obj.ReplicaId != null)
            {
                writer.WriteProperty(obj.ReplicaId, "ReplicaId", ReplicaIdConverter.Serialize);
            }

            writer.WriteEndObject();
        }