Ejemplo n.º 1
0
        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);
        }