public void BinaryWriteReadTest_Success()
{
var claim = new Claim(ClaimTypes.Actor, "value", ClaimValueTypes.String, "issuer", "originalIssuer");
claim.Properties.Add("key1", "val1");
claim.Properties.Add("key2", "val2");
Claim clonedClaim = null;
using (var memoryStream = new MemoryStream())
{
using (var binaryWriter = new BinaryWriter(memoryStream, Encoding.Default, true))
{
claim.WriteTo(binaryWriter);
binaryWriter.Flush();
}
memoryStream.Position = 0;
using (var binaryReader = new BinaryReader(memoryStream))
{
clonedClaim = new Claim(binaryReader);
}
}
Assert.Equal(claim.Type, clonedClaim.Type);
Assert.Equal(claim.Value, clonedClaim.Value);
Assert.Equal(claim.ValueType, clonedClaim.ValueType);
Assert.Equal(claim.Issuer, clonedClaim.Issuer);
Assert.Equal(claim.OriginalIssuer, clonedClaim.OriginalIssuer);
Assert.Equal(claim.Properties.Count, clonedClaim.Properties.Count);
Assert.Equal(claim.Properties.ElementAt(0), clonedClaim.Properties.ElementAt(0));
Assert.Equal(claim.Properties.ElementAt(1), clonedClaim.Properties.ElementAt(1));
}