public void AgentGroupDataUpdateMessage()
{
AgentGroupDataUpdateMessage s = new AgentGroupDataUpdateMessage();
s.AgentID = UUID.Random();
AgentGroupDataUpdateMessage.GroupData[] blocks = new AgentGroupDataUpdateMessage.GroupData[2];
AgentGroupDataUpdateMessage.GroupData g1 = new AgentGroupDataUpdateMessage.GroupData();
g1.AcceptNotices = false;
g1.Contribution = 1024;
g1.GroupID = UUID.Random();
g1.GroupInsigniaID = UUID.Random();
g1.GroupName = "Group Name Test 1";
g1.GroupPowers = GroupPowers.Accountable | GroupPowers.AllowLandmark | GroupPowers.AllowSetHome;
blocks[0] = g1;
AgentGroupDataUpdateMessage.GroupData g2 = new AgentGroupDataUpdateMessage.GroupData();
g2.AcceptNotices = false;
g2.Contribution = 16;
g2.GroupID = UUID.Random();
g2.GroupInsigniaID = UUID.Random();
g2.GroupName = "Group Name Test 2";
g2.GroupPowers = GroupPowers.ChangeActions | GroupPowers.DeedObject;
blocks[1] = g2;
s.GroupDataBlock = blocks;
AgentGroupDataUpdateMessage.NewGroupData[] nblocks = new AgentGroupDataUpdateMessage.NewGroupData[2];
AgentGroupDataUpdateMessage.NewGroupData ng1 = new AgentGroupDataUpdateMessage.NewGroupData();
ng1.ListInProfile = false;
nblocks[0] = ng1;
AgentGroupDataUpdateMessage.NewGroupData ng2 = new AgentGroupDataUpdateMessage.NewGroupData();
ng2.ListInProfile = true;
nblocks[1] = ng2;
s.NewGroupDataBlock = nblocks;
OSDMap map = s.Serialize();
AgentGroupDataUpdateMessage t = new AgentGroupDataUpdateMessage();
t.Deserialize(map);
Assert.AreEqual(s.AgentID, t.AgentID);
for (int i = 0; i < t.GroupDataBlock.Length; i++)
{
Assert.AreEqual(s.GroupDataBlock[i].AcceptNotices, t.GroupDataBlock[i].AcceptNotices);
Assert.AreEqual(s.GroupDataBlock[i].Contribution, t.GroupDataBlock[i].Contribution);
Assert.AreEqual(s.GroupDataBlock[i].GroupID, t.GroupDataBlock[i].GroupID);
Assert.AreEqual(s.GroupDataBlock[i].GroupInsigniaID, t.GroupDataBlock[i].GroupInsigniaID);
Assert.AreEqual(s.GroupDataBlock[i].GroupName, t.GroupDataBlock[i].GroupName);
Assert.AreEqual(s.GroupDataBlock[i].GroupPowers, t.GroupDataBlock[i].GroupPowers);
}
for (int i = 0; i < t.NewGroupDataBlock.Length; i++)
{
Assert.AreEqual(s.NewGroupDataBlock[i].ListInProfile, t.NewGroupDataBlock[i].ListInProfile);
}
}