public void should_return_a_peer_descriptor_with_its_timestamp_kind_set_to_utc() { var unspecifiedKindUtcNow = new DateTime(DateTime.UtcNow.Ticks, DateTimeKind.Unspecified); var storagePeer = new StoragePeer { TimestampUtc = unspecifiedKindUtcNow, StaticSubscriptionsBytes = new byte[0]}; var peerDescriptor = storagePeer.ToPeerDescriptor(new Subscription[0]); peerDescriptor.TimestampUtc.Value.Kind.ShouldEqual(DateTimeKind.Utc); }
public static PeerDescriptor ToPeerDescriptor(this StoragePeer storagePeer) { if (storagePeer == null) { return(null); } var staticSubscriptions = DeserializeSubscriptions(storagePeer.StaticSubscriptionsBytes); return(new PeerDescriptor(new PeerId(storagePeer.PeerId), storagePeer.EndPoint, storagePeer.IsPersistent, storagePeer.IsUp, storagePeer.IsResponding, new DateTime(storagePeer.TimestampUtc.Ticks, DateTimeKind.Utc), staticSubscriptions) { HasDebuggerAttached = storagePeer.HasDebuggerAttached }); }
public static PeerDescriptor ToPeerDescriptor(this StoragePeer storagePeer, IEnumerable <Subscription> peerDynamicSubscriptions) { if (storagePeer?.StaticSubscriptionsBytes == null) { return(null); } var staticSubscriptions = DeserializeSubscriptions(storagePeer.StaticSubscriptionsBytes); var allSubscriptions = staticSubscriptions.Concat(peerDynamicSubscriptions).Distinct().ToArray(); return(new PeerDescriptor(new PeerId(storagePeer.PeerId), storagePeer.EndPoint, storagePeer.IsPersistent, storagePeer.IsUp, storagePeer.IsResponding, new DateTime(storagePeer.TimestampUtc.Ticks, DateTimeKind.Utc), allSubscriptions) { HasDebuggerAttached = storagePeer.HasDebuggerAttached }); }