public void PermissionSetEncoder_AddPermission() { var b = new BlobBuilder(); var e = new PermissionSetEncoder(b); var s = e.AddPermission("ABCD", ImmutableArray.Create <byte>(1, 2, 3)); Assert.Same(b, s.Builder); AssertEx.Equal(new byte[] { 0x04, 0x41, 0x42, 0x43, 0x44, 0x03, 0x01, 0x02, 0x03 }, b.ToArray()); b.Clear(); var args = new BlobBuilder(); args.WriteBytes(new byte[] { 1, 2, 3 }); s = e.AddPermission("ABCD", args); Assert.Same(b, s.Builder); AssertEx.Equal(new byte[] { 0x04, 0x41, 0x42, 0x43, 0x44, 0x03, 0x01, 0x02, 0x03 }, b.ToArray()); b.Clear(); s = e.AddPermission("", ImmutableArray.Create <byte>()); AssertEx.Equal(new byte[] { 0x00, 0x00 }, b.ToArray()); b.Clear(); s = e.AddPermission("", new BlobBuilder()); AssertEx.Equal(new byte[] { 0x00, 0x00 }, b.ToArray()); b.Clear(); Assert.Throws <ArgumentNullException>(() => e.AddPermission(null, ImmutableArray.Create <byte>(1))); Assert.Throws <ArgumentNullException>(() => e.AddPermission(null, args)); Assert.Throws <ArgumentNullException>(() => e.AddPermission("A", default(ImmutableArray <byte>))); Assert.Throws <ArgumentNullException>(() => e.AddPermission("A", null)); }
public void PermissionSetEncoder_AddPermission() { var b = new BlobBuilder(); var e = new PermissionSetEncoder(b); var s = e.AddPermission("ABCD", ImmutableArray.Create<byte>(1, 2, 3)); Assert.Same(b, s.Builder); AssertEx.Equal(new byte[] { 0x04, 0x41, 0x42, 0x43, 0x44, 0x03, 0x01, 0x02, 0x03 }, b.ToArray()); b.Clear(); var args = new BlobBuilder(); args.WriteBytes(new byte[] { 1, 2, 3 }); s = e.AddPermission("ABCD", args); Assert.Same(b, s.Builder); AssertEx.Equal(new byte[] { 0x04, 0x41, 0x42, 0x43, 0x44, 0x03, 0x01, 0x02, 0x03 }, b.ToArray()); b.Clear(); s = e.AddPermission("", ImmutableArray.Create<byte>()); AssertEx.Equal(new byte[] { 0x00, 0x00 }, b.ToArray()); b.Clear(); s = e.AddPermission("", new BlobBuilder()); AssertEx.Equal(new byte[] { 0x00, 0x00 }, b.ToArray()); b.Clear(); Assert.Throws<ArgumentNullException>(() => e.AddPermission(null, ImmutableArray.Create<byte>(1))); Assert.Throws<ArgumentNullException>(() => e.AddPermission(null, args)); Assert.Throws<ArgumentNullException>(() => e.AddPermission("A", default(ImmutableArray<byte>))); Assert.Throws<ArgumentNullException>(() => e.AddPermission("A", null)); }