Beispiel #1
0
        public void DescribeGroupsResponse()
        {
            var response1 = new DescribeGroupsResponse {
                Details = new[] {
                    new DescribeGroupsResponseDetail {
                        GroupId      = Guid.NewGuid().ToString(),
                        State        = Guid.NewGuid().ToString(),
                        ProtocolType = Guid.NewGuid().ToString(),
                        Protocol     = Guid.NewGuid().ToString(),
                        Members      = new [] {
                            new DescribeGroupsResponseMember {
                                MemberId         = Guid.NewGuid().ToString(),
                                ClientId         = Guid.NewGuid().ToString(),
                                ClientHost       = Guid.NewGuid().ToString(),
                                MemberMetadata   = new JoinGroupMemberMetadata(),
                                MemberAssignment = new SyncGroupMemberAssignment(),
                            }
                        }
                    }
                }
            };

            Stream binary1 = new MemoryStream();

            response1.Serialize(binary1);

            binary1.Seek(0L, SeekOrigin.Begin);
            var response2 = new DescribeGroupsResponse();

            response2.Deserialize(binary1);

            var compareLogic = new CompareLogic();
            var result       = compareLogic.Compare(response1, response2);

            Assert.True(result.AreEqual);

            Stream binary2 = new MemoryStream();

            response2.Serialize(binary2);
            Assert.Equal(binary1.Length, binary2.Length);

            using (var stream1 = new MemoryStream())
                using (var stream2 = new MemoryStream()) {
                    binary1.Seek(0L, SeekOrigin.Begin);
                    binary1.CopyTo(stream1);

                    binary2.Seek(0L, SeekOrigin.Begin);
                    binary2.CopyTo(stream2);

                    Assert.Equal(stream1.Length, stream2.Length);
                    stream1.Seek(0L, SeekOrigin.Begin);
                    var bytes1 = stream1.ToArray();

                    stream2.Seek(0L, SeekOrigin.Begin);
                    var bytes2 = stream2.ToArray();
                    Assert.Equal(bytes1.Length, bytes2.Length);

                    for (int i = 0; i < bytes1.Length; i++)
                    {
                        Assert.Equal(bytes1[i], bytes2[i]);
                    }
                }
        }