forked from discord-bot-dev/Community-Discord-BOT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGlobalTests.cs
74 lines (66 loc) · 2.81 KB
/
GlobalTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using Castle.Core.Resource;
using Discord;
using Moq;
using NUnit.Framework;
namespace CommunityBot.Tests
{
public class GlobalTests
{
[Test]
public void ReplacePlaceholderString_NoNicknameTest()
{
const string expected = "Username";
var guildUser = CreateMockGuildUser(null, expected);
TestReplacePlaceholderString("<username>", expected, guildUser);
}
[Test]
public void ReplacePlaceholderString_ValidUsernameTest()
{
const string expected = "Nickname";
var guildUser = CreateMockGuildUser(expected, "Username");
TestReplacePlaceholderString("<username>", expected, guildUser);
}
[Test]
public void ReplacePlaceholderString_GuildNameTest()
{
const string expected = "TestGuildName";
var guildUser = CreateMockGuildUser("Jon", "jj36", expected);
TestReplacePlaceholderString("<guildname>", expected, guildUser);
}
[Test]
public void ReplacePlaceholderString_UserMentionTest()
{
const string expected = "@JonDoe";
var guildUser = CreateMockGuildUser("Jon", "jj36", userMention: "@JonDoe");
TestReplacePlaceholderString("<usermention>", expected, guildUser);
}
[Test]
public void ReplacePlaceholderString_Multiple()
{
const string expected = "Hello, Peter! Welcome to MyCoolGuild!";
var guildUser = CreateMockGuildUser("Peter", "spelos", "MyCoolGuild");
TestReplacePlaceholderString("Hello, <username>! Welcome to <guildname>!", expected, guildUser);
}
[Test]
public void ReplacePlaceholderString_MultipleNoNickname()
{
const string expected = "Hello, spelos! Welcome to MyCoolGuild!";
var guildUser = CreateMockGuildUser(null, "spelos", "MyCoolGuild");
TestReplacePlaceholderString("Hello, <username>! Welcome to <guildname>!", expected, guildUser);
}
private static void TestReplacePlaceholderString(string input, string expected, IMock<IGuildUser> user)
{
var actual = input.ReplacePlacehoderStrings(user.Object);
Assert.AreEqual(expected, actual);
}
private static Mock<IGuildUser> CreateMockGuildUser(string nickname, string username, string guildName = "MyGuild", string userMention = "@User")
{
var guildUser = new Mock<IGuildUser>();
guildUser.Setup(gUser => gUser.Nickname).Returns(nickname);
guildUser.Setup(gUser => gUser.Username).Returns(username);
guildUser.Setup(gUser => gUser.Mention).Returns(userMention);
guildUser.Setup(gUser => gUser.Guild.Name).Returns(guildName);
return guildUser;
}
}
}