public void ToNodaDuration_Invalid(long seconds, int nanos) { var input = new ProtoDuration { Seconds = seconds, Nanos = nanos }; Assert.Throws <ArgumentException>(() => input.ToNodaDuration()); }
public void ToProtobufDuration_Valid(string nodaDurationText, long expectedSeconds, int expectedNanos) { Duration nodaDuration = DurationPattern.Roundtrip.Parse(nodaDurationText).Value; ProtoDuration protoDuration = nodaDuration.ToProtobufDuration(); Assert.AreEqual(expectedSeconds, protoDuration.Seconds); Assert.AreEqual(expectedNanos, protoDuration.Nanos); }
public void ToNodaDuration_Valid(long seconds, int nanos, string expectedResult) { var input = new ProtoDuration { Seconds = seconds, Nanos = nanos }; var nodaDuration = input.ToNodaDuration(); Assert.AreEqual(expectedResult, DurationPattern.Roundtrip.Format(nodaDuration)); }
public static void GetChecksum(this Google.Protobuf.WellKnownTypes.Duration tmp, BinaryWriter inWriter) { using (var memStream = new MemoryStream()) { var dataStream = new CodedOutputStream(memStream); tmp.WriteTo(dataStream); // this sucks because its going to do a copy :/ inWriter.Write(memStream.ToArray()); } }
private int ParseDuration(Google.Protobuf.WellKnownTypes.Duration duration) { String s = duration.ToString(); s = s.Replace("s", ""); s = s.Replace("\"", ""); double d = Double.Parse(s); int milliseconds = (int)(d * 1000); return(milliseconds); }
/// <inheritdoc/> protected override TimeSpan ReadValue(ref ParseContext context) { var duration = new Google.Protobuf.WellKnownTypes.Duration(); context.ReadMessage(duration); return duration.ToTimeSpan(); }