diff --git a/Geekbot.net/Lib/LevelCalc.cs b/Geekbot.net/Lib/LevelCalc.cs index 6951f5e..d075754 100644 --- a/Geekbot.net/Lib/LevelCalc.cs +++ b/Geekbot.net/Lib/LevelCalc.cs @@ -4,7 +4,7 @@ using System.Linq; namespace Geekbot.net.Lib { - internal class LevelCalc : ILevelCalc + public class LevelCalc : ILevelCalc { private int[] _levels; diff --git a/Tests/Lib/LevelCalc.test.cs b/Tests/Lib/LevelCalc.test.cs new file mode 100644 index 0000000..74e6105 --- /dev/null +++ b/Tests/Lib/LevelCalc.test.cs @@ -0,0 +1,49 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Geekbot.net.Lib; +using Xunit; + +namespace Tests.Lib +{ + public class LevelCalc_test + { + public static IEnumerable LevelCalcTestData + { + get + { + yield return new object[] + { + 500, + 13 + }; + + yield return new object[] + { + 41659, + 55 + }; + + yield return new object[] + { + 0, + 1 + }; + + yield return new object[] + { + 4000000, + 101 + }; + } + } + + + [Theory, MemberData(nameof(LevelCalcTestData))] + public async Task GetLevel(int messages, int expectedResult) + { + var levelCalc = new LevelCalc(); + var result = levelCalc.GetLevel(messages); + Assert.Equal(result, expectedResult); + } + } +} \ No newline at end of file