public void constructor_with_representation_should_return_expected_result( [Values(BsonType.Array, BsonType.DateTime, BsonType.Document, BsonType.String)] BsonType representation) { var subject = new DateTimeOffsetSerializer(representation); subject.Representation.Should().Be(representation); }
public void SerializeAndDeserializeToTheSameObject(DateTimeOffset originalValue) { Serializer <DateTimeOffset> serializer = new DateTimeOffsetSerializer(); byte[] serializedValue = serializer.Serialize(originalValue); DateTimeOffset deserializedValue = serializer.Deserialize(serializedValue); Assert.Equal(originalValue, deserializedValue); }
public void StatisticalDateTimeOffset_RoundTripsCorrectly(string reason, StatisticalDateTimeOffset statisticalDateTimeOffset, string expectedJsonText) { var actualDateTimeOffset = DateTimeOffsetSerializer.DeserializeFromJsonLikeFormat(expectedJsonText); actualDateTimeOffset.ShouldBeEquivalentTo(statisticalDateTimeOffset, reason); var actualJsonText = DateTimeOffsetSerializer.SerializeToJsonLikeFormat(statisticalDateTimeOffset); actualJsonText.ShouldBeEquivalentTo(expectedJsonText, reason); }
public void WithRepresentation_should_return_expected_result( [Values(BsonType.Array, BsonType.DateTime, BsonType.Document, BsonType.String)] BsonType oldRepresentation, [Values(BsonType.Array, BsonType.DateTime, BsonType.Document, BsonType.String)] BsonType newRepresentation) { var subject = new DateTimeOffsetSerializer(oldRepresentation); var result = subject.WithRepresentation(newRepresentation); result.Representation.Should().Be(newRepresentation); if (newRepresentation == oldRepresentation) { result.Should().BeSameAs(subject); } }
public void Deserialize_should_return_expected_result(string json, string expectedResult) { var x = DateTimeOffset.Parse(expectedResult); var m = BsonUtils.ToMillisecondsSinceEpoch(x.UtcDateTime); var subject = new DateTimeOffsetSerializer(); DateTimeOffset result; using (var reader = new JsonReader(json)) { reader.ReadStartDocument(); reader.ReadName("x"); var context = BsonDeserializationContext.CreateRoot(reader); result = subject.Deserialize(context); reader.ReadEndDocument(); } result.Should().Be(DateTimeOffset.Parse(expectedResult)); }
public WKTSerializers(ISerializerStorage serializerStorage, IValueTypeObjectsDictionary objectCache) { Boolean = new BooleanSerializer(serializerStorage); Byte = new ByteSerializer(serializerStorage); Char = new CharSerializer(serializerStorage); DateTime = new DateTimeSerializer(serializerStorage); DateTimeOffset = new DateTimeOffsetSerializer(serializerStorage); Decimal = new DecimalSerializer(serializerStorage); Double = new DoubleSerializer(serializerStorage); Guid = new GuidSerializer(serializerStorage); Int16 = new Int16Serializer(serializerStorage); Int32 = new Int32Serializer(serializerStorage); Int64 = new Int64Serializer(serializerStorage); Object = new ObjectSerializer(serializerStorage); SByte = new SByteSerializer(serializerStorage); Single = new SingleSerializer(serializerStorage); String = new StringSerializer(serializerStorage, objectCache); TimeSpan = new TimeSpanSerializer(serializerStorage); UInt16 = new UInt16Serializer(serializerStorage); UInt32 = new UInt32Serializer(serializerStorage); }
public void Serialize_should_have_expected_result(BsonType representation, string valueString, string expectedResult) { var subject = new DateTimeOffsetSerializer(representation); var value = DateTimeOffset.Parse(valueString); string result; using (var textWriter = new StringWriter()) using (var writer = new JsonWriter(textWriter, new JsonWriterSettings { OutputMode = JsonOutputMode.CanonicalExtendedJson })) { var context = BsonSerializationContext.CreateRoot(writer); writer.WriteStartDocument(); writer.WriteName("x"); subject.Serialize(context, value); writer.WriteEndDocument(); result = textWriter.ToString(); } result.Should().Be(expectedResult); }
public void constructor_with_no_arguments_should_return_expected_result() { var subject = new DateTimeOffsetSerializer(); subject.Representation.Should().Be(BsonType.Array); }
/// <summary> /// Initializes a new instance of the <see cref="TimestampSerializer"/> class. /// </summary> public TimestampSerializer() { _serializer = new DateTimeOffsetSerializer(BsonType.String); }
public void ShouldThrowIfDeserializingLessThanSixteenBytes(byte[] data) { Serializer <DateTimeOffset> serializer = new DateTimeOffsetSerializer(); Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data)); }
public void ShouldThrowIfDeserializingNull() { Serializer <DateTimeOffset> serializer = new DateTimeOffsetSerializer(); Assert.Throws <ArgumentNullException>(() => serializer.Deserialize(null)); }
public DateTimeOffsetSerializerCustom(Type valueType, DateTimeOffsetSerializer serializer) { ValueType = valueType; _serializer = serializer; }