Пример #1
0
        public void MembersUpdatedEventArgs()
        {
            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();
            var id3 = Guid.NewGuid();
            var mi1 = new MemberInfo(id1, NetworkAddress.Parse("127.0.0.1:88"), new MemberVersion(1, 1, 1), false, new Dictionary <string, string>());
            var mi2 = new MemberInfo(id2, NetworkAddress.Parse("127.0.0.1:88"), new MemberVersion(1, 1, 1), false, new Dictionary <string, string>());
            var mi3 = new MemberInfo(id3, NetworkAddress.Parse("127.0.0.1:88"), new MemberVersion(1, 1, 1), false, new Dictionary <string, string>());

            var args = new MembersUpdatedEventArgs(new [] { mi1 }, new [] { mi2 }, new [] { mi1, mi3 });

            Assert.That(args.AddedMembers.Count, Is.EqualTo(1));
            Assert.That(args.AddedMembers, Does.Contain(mi1));

            Assert.That(args.RemovedMembers.Count, Is.EqualTo(1));
            Assert.That(args.RemovedMembers, Does.Contain(mi2));

            Assert.That(args.Members.Count, Is.EqualTo(2));
            Assert.That(args.Members, Does.Contain(mi1));
            Assert.That(args.Members, Does.Contain(mi3));
        }
 /// <summary>
 /// Handles an update of the members.
 /// </summary>
 /// <param name="args">The event arguments.</param>
 public ValueTask OnMembersUpdated(MembersUpdatedEventArgs args)
 {
     // triggers MemberLifecycle event
     return(ForEachHandler <MembersUpdatedEventHandler, MembersUpdatedEventArgs>(
                (handler, sender, a) => handler.HandleAsync(sender, a), args));
 }