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());
            }
        }
Exemple #5
0
        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();
 }