diff --git a/src/EllieBot.Tests/BotStringsTests.cs b/src/EllieBot.Tests/BotStringsTests.cs index 3432ac3..f1b9be7 100644 --- a/src/EllieBot.Tests/BotStringsTests.cs +++ b/src/EllieBot.Tests/BotStringsTests.cs @@ -36,7 +36,7 @@ namespace EllieBot.Tests } } - Assert.IsTrue(isSuccess); + Assert.That(isSuccess, Is.True); } private static string[] GetCommandMethodNames() @@ -46,8 +46,8 @@ namespace EllieBot.Tests .Where(type => typeof(EllieModule).IsAssignableFrom(type) // if its a top level module || !(type.GetCustomAttribute<GroupAttribute>(true) is null)) // or a submodule .SelectMany(x => x.GetMethods() - .Where(mi => mi.CustomAttributes - .Any(ca => ca.AttributeType == typeof(CmdAttribute)))) + .Where(mi => mi.CustomAttributes + .Any(ca => ca.AttributeType == typeof(CmdAttribute)))) .Select(x => x.Name.ToLowerInvariant()) .ToArray(); @@ -69,7 +69,7 @@ namespace EllieBot.Tests } } - Assert.IsTrue(isSuccess); + Assert.That(isSuccess, Is.True); } [Test] @@ -107,7 +107,7 @@ namespace EllieBot.Tests var culture = new CultureInfo("en-US"); var methodNames = GetCommandMethodNames() - .ToHashSet(); + .ToHashSet(); var isSuccess = true; // var allCommandNames = CommandNameLoadHelper.LoadCommandStrings(commandsPath)); @@ -117,15 +117,13 @@ namespace EllieBot.Tests if (!methodNames.Contains(cmdName)) { - TestContext.Out.WriteLine($"'{cmdName}' from commands.en-US.yml doesn't have a matching command method."); + TestContext.Out.WriteLine( + $"'{cmdName}' from commands.en-US.yml doesn't have a matching command method."); isSuccess = false; } } - if (isSuccess) - Assert.IsTrue(isSuccess); - else - Assert.Warn("There are some unused command strings in data/strings/commands.en-US.yml"); + Assert.That(isSuccess, Is.True, "There are some unused command strings in data/strings/commands.en-US.yml"); } } } \ No newline at end of file diff --git a/src/EllieBot.Tests/ConcurrentHashSetTests.cs b/src/EllieBot.Tests/ConcurrentHashSetTests.cs index a6fb963..cb1613e 100644 --- a/src/EllieBot.Tests/ConcurrentHashSetTests.cs +++ b/src/EllieBot.Tests/ConcurrentHashSetTests.cs @@ -18,11 +18,11 @@ public class ConcurrentHashSetTests { var result = _set.Add((1, 2)); - Assert.AreEqual(true, result); + Assert.That(result, Is.EqualTo(true)); result = _set.Add((1, 2)); - Assert.AreEqual(false, result); + Assert.That(result, Is.EqualTo(false)); } [Test] @@ -31,10 +31,10 @@ public class ConcurrentHashSetTests _set.Add((1, 2)); var result = _set.TryRemove((1, 2)); - Assert.AreEqual(true, result); + Assert.That(result, Is.EqualTo(true)); result = _set.TryRemove((1, 2)); - Assert.AreEqual(false, result); + Assert.That(result, Is.EqualTo(false)); } [Test] @@ -48,7 +48,7 @@ public class ConcurrentHashSetTests _set.Add((3, 2)); // 3 _set.Add((3, 2)); // 3 - Assert.AreEqual(3, _set.Count); + Assert.That(_set.Count, Is.EqualTo(3)); } [Test] @@ -60,7 +60,7 @@ public class ConcurrentHashSetTests _set.Clear(); - Assert.AreEqual(0, _set.Count); + Assert.That(_set.Count, Is.EqualTo(0)); } [Test] @@ -69,10 +69,10 @@ public class ConcurrentHashSetTests _set.Add((1, 2)); _set.Add((3, 2)); - Assert.AreEqual(true, _set.Contains((1, 2))); - Assert.AreEqual(true, _set.Contains((3, 2))); - Assert.AreEqual(false, _set.Contains((2, 1))); - Assert.AreEqual(false, _set.Contains((2, 3))); + Assert.That(_set.Contains((1, 2)), Is.EqualTo(true)); + Assert.That(_set.Contains((3, 2)), Is.EqualTo(true)); + Assert.That(_set.Contains((2, 1)), Is.EqualTo(false)); + Assert.That(_set.Contains((2, 3)), Is.EqualTo(false)); } [Test] @@ -86,8 +86,8 @@ public class ConcurrentHashSetTests // remove tuples which have even second item _set.RemoveWhere(static x => x.Item2 % 2 == 0); - Assert.AreEqual(2, _set.Count); - Assert.AreEqual(true, _set.Contains((1, 3))); - Assert.AreEqual(true, _set.Contains((2, 5))); + Assert.That(_set.Count, Is.EqualTo(2)); + Assert.That(_set.Contains((1, 3)), Is.EqualTo(true)); + Assert.That(_set.Contains((2, 5)), Is.EqualTo(true)); } } \ No newline at end of file diff --git a/src/EllieBot.Tests/FishTests.cs b/src/EllieBot.Tests/FishTests.cs deleted file mode 100644 index c6c8e83..0000000 --- a/src/EllieBot.Tests/FishTests.cs +++ /dev/null @@ -1,88 +0,0 @@ -// using System; -// using System.Collections.Generic; -// using System.Diagnostics; -// using System.IO; -// using System.Linq; -// using Ellie.Common; -// using EllieBot.Modules.Games; -// using NUnit.Framework; -// -// namespace EllieBot.Tests; -// -// public class FishTests -// { -// [Test] -// public void TestWeather() -// { -// var fs = new FishService(null, null); -// -// var rng = new Random(); -// -// // output = @"ro+dD:bN0uVqV3ZOAv6r""EFeA'A]u]uSyz2Qd'r#0Vf:5zOX\VgSsF8LgRCL/uOW"; -// while (true) -// { -// var output = ""; -// for (var i = 0; i < 64; i++) -// { -// var c = (char)rng.Next(33, 123); -// output += c; -// } -// -// output = ""; -// var weathers = new List<FishingWeather>(); -// for (var i = 0; i < 1_000_000; i++) -// { -// var w = fs.GetWeather(DateTime.UtcNow.AddHours(6 * i), output); -// weathers.Add(w); -// } -// -// var vals = weathers.GroupBy(x => x) -// .ToDictionary(x => x.Key, x => x.Count()); -// -// var str = weathers.Select(x => (int)x).Join(""); -// var maxLength = MaxLength(str); -// -// if (maxLength < 12) -// { -// foreach (var v in vals) -// { -// Console.WriteLine($"{v.Key}: {v.Value}"); -// } -// -// Console.WriteLine(output); -// Console.WriteLine(maxLength); -// -// File.WriteAllText("data.txt", weathers.Select(x => (int)x).Join("")); -// -// break; -// } -// } -// } -// -// // string with same characters -// static int MaxLength(String s) -// { -// int ans = 1, temp = 1; -// -// // Traverse the string -// for (int i = 1; i < s.Length; i++) -// { -// // If character is same as -// // previous increment temp value -// if (s[i] == s[i - 1]) -// { -// ++temp; -// } -// else -// { -// ans = Math.Max(ans, temp); -// temp = 1; -// } -// } -// -// ans = Math.Max(ans, temp); -// -// // Return the required answer -// return ans; -// } -// } \ No newline at end of file diff --git a/src/EllieBot.Tests/IndexedCollectionTests.cs b/src/EllieBot.Tests/IndexedCollectionTests.cs index 587f2c4..4dcd401 100644 --- a/src/EllieBot.Tests/IndexedCollectionTests.cs +++ b/src/EllieBot.Tests/IndexedCollectionTests.cs @@ -1,4 +1,4 @@ -using Ellie.Common; +using Ellie.Common; using EllieBot.Db.Models; using NUnit.Framework; using System; @@ -32,7 +32,8 @@ namespace EllieBot.Tests // Evaluate the indices are ordered CheckIndices(collection); - Assert.AreEqual(8, collection.Count); + + Assert.That(collection.Count, Is.EqualTo(8)); } [Test] @@ -45,8 +46,9 @@ namespace EllieBot.Tests collection.RemoveAt(6); // Evaluate if the items got removed - foreach (var item in collection) - Assert.IsFalse(item.Id == 5 || item.Id == 7, $"Item at index {item.Index} was not removed"); + foreach (var item in collection){ + Assert.That(item.Id, Is.Not.EqualTo(5).Or.EqualTo(7), $"Item at index {item.Index} was not removed"); + } CheckIndices(collection); @@ -61,7 +63,7 @@ namespace EllieBot.Tests var collection = GetCollectionSample<ShopEntry>(); collection.Clear(); - Assert.IsTrue(collection.Count == 0, "Collection has not been cleared."); + Assert.That(collection.Count, Is.EqualTo(0), "Collection has not been cleared."); Assert.Throws<ArgumentOutOfRangeException>(() => { _ = collection[0]; @@ -78,7 +80,7 @@ namespace EllieBot.Tests // Evaluate copy for (var index = 0; index < fullCopy.Length; index++) - Assert.AreEqual(index, fullCopy[index].Index); + Assert.That(index, Is.EqualTo(fullCopy[index].Index)); Assert.Throws<ArgumentException>(() => collection.CopyTo(new ShopEntry[10], 4)); Assert.Throws<ArgumentException>(() => collection.CopyTo(new ShopEntry[6], 0)); @@ -89,10 +91,10 @@ namespace EllieBot.Tests { var collection = GetCollectionSample<ShopEntry>(); - Assert.AreEqual(4, collection.IndexOf(collection[4])); - Assert.AreEqual(0, collection.IndexOf(collection[0])); - Assert.AreEqual(7, collection.IndexOf(collection[7])); - Assert.AreEqual(9, collection.IndexOf(collection[9])); + Assert.That(collection.IndexOf(collection[4]), Is.EqualTo(4)); + Assert.That(collection.IndexOf(collection[0]), Is.EqualTo(0)); + Assert.That(collection.IndexOf(collection[7]), Is.EqualTo(7)); + Assert.That(collection.IndexOf(collection[9]), Is.EqualTo(9)); } [Test] @@ -104,9 +106,9 @@ namespace EllieBot.Tests collection.Insert(5, new ShopEntry() { Id = 555 }); collection.Insert(7, new ShopEntry() { Id = 777 }); - Assert.AreEqual(12, collection.Count); - Assert.AreEqual(555, collection[5].Id); - Assert.AreEqual(777, collection[7].Id); + Assert.That(collection.Count, Is.EqualTo(12)); + Assert.That(collection[5].Id, Is.EqualTo(555)); + Assert.That(collection[7].Id, Is.EqualTo(777)); CheckIndices(collection); @@ -134,9 +136,9 @@ namespace EllieBot.Tests collection.Remove(subCol[1]); CheckIndices(collection); - Assert.IsTrue(collection.Contains(subCol[0])); - Assert.IsFalse(collection.Contains(subCol[1])); - Assert.IsTrue(collection.Contains(subCol[2])); + Assert.That(collection.Contains(subCol[0]), Is.True); + Assert.That(collection.Contains(subCol[1]), Is.False); + Assert.That(collection.Contains(subCol[2]), Is.True); } [Test] @@ -148,7 +150,7 @@ namespace EllieBot.Tests foreach (var item in collection) { enumerator.MoveNext(); - Assert.AreEqual(item, enumerator.Current); + Assert.That(enumerator.Current, Is.EqualTo(item)); } } @@ -161,8 +163,8 @@ namespace EllieBot.Tests collection[7] = new ShopEntry() { Id = 777 }; CheckIndices(collection); - Assert.AreEqual(444, collection[4].Id); - Assert.AreEqual(777, collection[7].Id); + Assert.That(collection[4].Id, Is.EqualTo(444)); + Assert.That(collection[7].Id, Is.EqualTo(777)); } /// <summary> @@ -173,7 +175,7 @@ namespace EllieBot.Tests private void CheckIndices<T>(IndexedCollection<T> collection) where T : class, IIndexed { for (var index = 0; index < collection.Count; index++) - Assert.AreEqual(index, collection[index].Index); + Assert.That(collection[index].Index, Is.EqualTo(index)); } /// <summary> @@ -185,4 +187,4 @@ namespace EllieBot.Tests private IndexedCollection<T> GetCollectionSample<T>(IEnumerable<T> sample = default) where T : DbEntity, IIndexed, new() => new IndexedCollection<T>(sample ?? Enumerable.Range(0, 10).Select(x => new T() { Id = x })); } -} \ No newline at end of file +} diff --git a/src/EllieBot.Tests/KwumTests.cs b/src/EllieBot.Tests/KwumTests.cs index a45d3f8..a371e68 100644 --- a/src/EllieBot.Tests/KwumTests.cs +++ b/src/EllieBot.Tests/KwumTests.cs @@ -11,7 +11,7 @@ namespace EllieBot.Tests { var num = default(kwum); - Assert.AreEqual(0, num.GetHashCode()); + Assert.That(0, Is.EqualTo(num.GetHashCode())); } [Test] @@ -20,7 +20,7 @@ namespace EllieBot.Tests var num1 = new kwum("234"); var num2 = new kwum("234"); - Assert.AreEqual(num1.GetHashCode(), num2.GetHashCode()); + Assert.That(num1.GetHashCode(), Is.EqualTo(num2.GetHashCode())); } [Test] @@ -29,7 +29,7 @@ namespace EllieBot.Tests var num1 = new kwum("234"); var num2 = new kwum("235"); - Assert.AreNotEqual(num1.GetHashCode(), num2.GetHashCode()); + Assert.That(num1.GetHashCode(), Is.Not.EqualTo(num2.GetHashCode())); } [Test] @@ -38,7 +38,7 @@ namespace EllieBot.Tests var num1 = new kwum("hgbkhdbk"); var num2 = new kwum("hgbkhdbk"); - Assert.AreEqual(num1.GetHashCode(), num2.GetHashCode()); + Assert.That(num1.GetHashCode(), Is.EqualTo(num2.GetHashCode())); } [Test] @@ -47,7 +47,7 @@ namespace EllieBot.Tests var num1 = new kwum("hgbkhd"); var num2 = new kwum("hgbkhd"); - Assert.AreEqual(num1, num2); + Assert.That(num1, Is.EqualTo(num2)); } [Test] @@ -56,21 +56,22 @@ namespace EllieBot.Tests var num1 = new kwum("hgbk5d"); var num2 = new kwum("hgbk4d"); - Assert.AreNotEqual(num1, num2); + Assert.That(num1, Is.Not.EqualTo(num2)); } [Test] public void TestParseValidValue() { var validValue = "234e"; - Assert.True(kwum.TryParse(validValue, out _)); + + Assert.That(kwum.TryParse(validValue, out _), Is.True); } [Test] public void TestParseInvalidValue() { var invalidValue = "1234"; - Assert.False(kwum.TryParse(invalidValue, out _)); + Assert.That(kwum.TryParse(invalidValue, out _), Is.False); } [Test] @@ -79,7 +80,7 @@ namespace EllieBot.Tests var validValue = "qwerf4bm"; kwum.TryParse(validValue, out var parsedValue); - Assert.AreEqual(parsedValue, new kwum(validValue)); + Assert.That(parsedValue, Is.EqualTo(new kwum(validValue))); } [Test] @@ -88,7 +89,7 @@ namespace EllieBot.Tests var validValue = "46g5yh"; kwum.TryParse(validValue, out var parsedValue); - Assert.AreEqual(validValue, parsedValue.ToString()); + Assert.That(validValue, Is.EqualTo(parsedValue.ToString())); } [Test] @@ -96,37 +97,37 @@ namespace EllieBot.Tests { var num = new kwum(10); - Assert.AreEqual(10, (int)num); - Assert.AreEqual(num, (kwum)10); + Assert.That(10, Is.EqualTo((int)num)); + Assert.That(num, Is.EqualTo((kwum)10)); } [Test] public void TestConverstionsToString() { var num = new kwum(10); - Assert.AreEqual("c", num.ToString()); + Assert.That("c", Is.EqualTo(num.ToString())); num = new kwum(123); - Assert.AreEqual("5v", num.ToString()); + Assert.That("5v", Is.EqualTo(num.ToString())); // leading zeros have no meaning - Assert.AreEqual(new kwum("22225v"), num); + Assert.That(new kwum("22225v"), Is.EqualTo(num)); } [Test] public void TestMaxValue() { var num = new kwum(int.MaxValue - 1); - Assert.AreEqual("3zzzzzy", num.ToString()); + Assert.That("3zzzzzy", Is.EqualTo(num.ToString())); num = new kwum(int.MaxValue); - Assert.AreEqual("3zzzzzz", num.ToString()); + Assert.That("3zzzzzz", Is.EqualTo(num.ToString())); } [Test] public void TestPower() { var num = new kwum((int)Math.Pow(32, 2)); - Assert.AreEqual("322", num.ToString()); + Assert.That("322", Is.EqualTo(num.ToString())); } } } \ No newline at end of file diff --git a/src/EllieBot.Tests/NewDeckTests.cs b/src/EllieBot.Tests/NewDeckTests.cs index 24d31d0..7fcf2f2 100644 --- a/src/EllieBot.Tests/NewDeckTests.cs +++ b/src/EllieBot.Tests/NewDeckTests.cs @@ -3,7 +3,6 @@ using NUnit.Framework; namespace EllieBot.Tests; - public class NewDeckTests { private RegularDeck _deck; @@ -17,8 +16,8 @@ public class NewDeckTests [Test] public void TestCount() { - Assert.AreEqual(52, _deck.TotalCount); - Assert.AreEqual(52, _deck.CurrentCount); + Assert.That(52, Is.EqualTo(_deck.TotalCount)); + Assert.That(52, Is.EqualTo(_deck.CurrentCount)); } [Test] @@ -26,10 +25,10 @@ public class NewDeckTests { var card = _deck.Draw(); - Assert.IsNotNull(card); - Assert.AreEqual(card.Suit, RegularSuit.Hearts); - Assert.AreEqual(card.Value, RegularValue.Ace); - Assert.AreEqual(_deck.CurrentCount, _deck.TotalCount - 1); + Assert.That(card, Is.Not.Null); + Assert.That(card.Suit, Is.EqualTo(RegularSuit.Hearts)); + Assert.That(card.Value, Is.EqualTo(RegularValue.Ace)); + Assert.That(_deck.CurrentCount, Is.EqualTo(_deck.TotalCount - 1)); } [Test] @@ -42,12 +41,12 @@ public class NewDeckTests var lastCard = _deck.Draw(); - Assert.IsNotNull(lastCard); - Assert.AreEqual(new RegularCard(RegularSuit.Spades, RegularValue.King), lastCard); + Assert.That(lastCard, Is.Not.Null); + Assert.That(lastCard, Is.EqualTo(new RegularCard(RegularSuit.Spades, RegularValue.King))); var noCard = _deck.Draw(); - Assert.IsNull(noCard); + Assert.That(noCard, Is.Null); } [Test] @@ -56,8 +55,8 @@ public class NewDeckTests var ace = _deck.Draw()!; var two = _deck.Draw()!; - Assert.AreEqual("Ace of Hearts", ace.GetName()); - Assert.AreEqual("Two of Hearts", two.GetName()); + Assert.That("Ace of Hearts", Is.EqualTo(ace.GetName())); + Assert.That("Two of Hearts", Is.EqualTo(two.GetName())); } [Test] @@ -66,8 +65,8 @@ public class NewDeckTests var ace = _deck.Peek()!; var tenOfSpades = _deck.Peek(48); - Assert.AreEqual(new RegularCard(RegularSuit.Hearts, RegularValue.Ace), ace); - Assert.AreEqual(new RegularCard(RegularSuit.Spades, RegularValue.Ten), tenOfSpades); + Assert.That(new RegularCard(RegularSuit.Hearts, RegularValue.Ace), Is.EqualTo(ace)); + Assert.That(new RegularCard(RegularSuit.Spades, RegularValue.Ten), Is.EqualTo(tenOfSpades)); } [Test] @@ -76,9 +75,9 @@ public class NewDeckTests var quadDeck = new MultipleRegularDeck(4); var count = quadDeck.TotalCount; - Assert.AreEqual(52 * 4, count); + Assert.That(52 * 4, Is.EqualTo(count)); var card = quadDeck.Peek(54); - Assert.AreEqual(new RegularCard(RegularSuit.Hearts, RegularValue.Three), card); + Assert.That(new RegularCard(RegularSuit.Hearts, RegularValue.Three), Is.EqualTo(card)); } } \ No newline at end of file diff --git a/src/EllieBot.Tests/PubSubTests.cs b/src/EllieBot.Tests/PubSubTests.cs index 81b89bc..e8c5771 100644 --- a/src/EllieBot.Tests/PubSubTests.cs +++ b/src/EllieBot.Tests/PubSubTests.cs @@ -15,7 +15,7 @@ namespace EllieBot.Tests var pubsub = new EventPubSub(); await pubsub.Sub(key, data => { - Assert.AreEqual(expected, data); + Assert.That(expected, Is.EqualTo(data)); Assert.Pass(); return default; }); @@ -31,7 +31,7 @@ namespace EllieBot.Tests var pubsub = new EventPubSub(); await pubsub.Sub(key, data => { - Assert.AreEqual(expected, data); + Assert.That(expected, Is.EqualTo(data)); Assert.Pass(); return default; }); @@ -48,13 +48,13 @@ namespace EllieBot.Tests var pubsub = new EventPubSub(); await pubsub.Sub(key, data => { - Assert.AreEqual(expected, data); + Assert.That(expected, Is.EqualTo(data)); Assert.Pass(); return default; }); await pubsub.Unsub(key, data => { - Assert.AreEqual(expected, data); + Assert.That(expected, Is.EqualTo(data)); Assert.Pass(); return default; }); @@ -90,7 +90,7 @@ namespace EllieBot.Tests ValueTask Action(byte[] data) { - Assert.AreEqual(localData, data); + Assert.That(localData, Is.EqualTo(data)); Assert.Pass(); return default; } @@ -112,14 +112,14 @@ namespace EllieBot.Tests ValueTask Action1(object data) { - Assert.AreEqual(localData, data); + Assert.That(localData, Is.EqualTo(data)); successCounter += 10; return default; } ValueTask Action2(object data) { - Assert.AreEqual(localData, data); + Assert.That(localData, Is.EqualTo(data)); successCounter++; return default; } @@ -130,7 +130,7 @@ namespace EllieBot.Tests await pubsub.Unsub(key, Action2); // - 1/ await pubsub.Pub(key, localData); - Assert.AreEqual(successCounter, 11, "Not all events are raised."); + Assert.That(successCounter, Is.EqualTo(11), "Not all events are raised."); } } } \ No newline at end of file diff --git a/src/EllieBot.Tests/Random.cs b/src/EllieBot.Tests/Random.cs index b124e0c..04a96f4 100644 --- a/src/EllieBot.Tests/Random.cs +++ b/src/EllieBot.Tests/Random.cs @@ -17,7 +17,7 @@ namespace EllieBot.Tests var point = @"0001F338"; var hopefullyEmoji = YamlHelper.UnescapeUnicodeCodePoint(point); - Assert.AreEqual("🌸", hopefullyEmoji, hopefullyEmoji); + Assert.That("🌸", Is.EqualTo(hopefullyEmoji), "Yaml unescape doesn't work properly."); } } } \ No newline at end of file