public Task TestChannelPermission() { var perm = new ChannelPermissions(); // check initial values Assert.Equal((ulong)0, perm.RawValue); Assert.Equal(ChannelPermissions.None.RawValue, perm.RawValue); // permissions list empty by default Assert.Empty(perm.ToList()); // test modify with no parameters var copy = perm.Modify(); Assert.Equal((ulong)0, copy.RawValue); // test the values that are returned by ChannelPermission.All Assert.Equal((ulong)0, ChannelPermissions.None.RawValue); // for text channels ulong textChannel = (ulong)(ChannelPermission.CreateInstantInvite | ChannelPermission.ManageChannels | ChannelPermission.AddReactions | ChannelPermission.ViewChannel | ChannelPermission.SendMessages | ChannelPermission.SendTTSMessages | ChannelPermission.ManageMessages | ChannelPermission.EmbedLinks | ChannelPermission.AttachFiles | ChannelPermission.ReadMessageHistory | ChannelPermission.MentionEveryone | ChannelPermission.UseExternalEmojis | ChannelPermission.ManageRoles | ChannelPermission.ManageWebhooks); Assert.Equal(textChannel, ChannelPermissions.Text.RawValue); // voice channels ulong voiceChannel = (ulong)( ChannelPermission.CreateInstantInvite | ChannelPermission.ManageChannels | ChannelPermission.Connect | ChannelPermission.Speak | ChannelPermission.MuteMembers | ChannelPermission.DeafenMembers | ChannelPermission.MoveMembers | ChannelPermission.UseVAD | ChannelPermission.ManageRoles); Assert.Equal(voiceChannel, ChannelPermissions.Voice.RawValue); // DM Channels ulong dmChannel = (ulong)( ChannelPermission.ViewChannel | ChannelPermission.SendMessages | ChannelPermission.EmbedLinks | ChannelPermission.AttachFiles | ChannelPermission.ReadMessageHistory | ChannelPermission.UseExternalEmojis | ChannelPermission.Connect | ChannelPermission.Speak | ChannelPermission.UseVAD ); Assert.Equal(dmChannel, ChannelPermissions.DM.RawValue); // group channel ulong groupChannel = (ulong)( ChannelPermission.SendMessages | ChannelPermission.EmbedLinks | ChannelPermission.AttachFiles | ChannelPermission.SendTTSMessages | ChannelPermission.Connect | ChannelPermission.Speak | ChannelPermission.UseVAD ); Assert.Equal(groupChannel, ChannelPermissions.Group.RawValue); return(Task.CompletedTask); }