using System.Reflection; using Xunit; using Xunit.Sdk; namespace Kyoo.Tests { /// /// Custom assertions used by Kyoo's tests. /// public static class KAssert { /// /// Check if every property of the item is equal to the other's object. /// /// The value to check against /// The value to check /// The type to check public static void DeepEqual(T expected, T value) { foreach (PropertyInfo property in typeof(T).GetProperties()) Assert.Equal(property.GetValue(expected), property.GetValue(value)); } /// /// Explicitly fail a test. /// public static void Fail() { throw new XunitException(); } /// /// Explicitly fail a test. /// /// The message that will be seen in the test report public static void Fail(string message) { throw new XunitException(message); } } }