using UnitTestSharp; namespace Vellum.Generator.UnitTests { public class SaveRegistrationTests : TestFixture { public static SaveRegistration Variant(string id = "M:Store.Put``1(``0)", int parameter = 0) { return new SaveRegistration(id, SaveTemplate.OfParameter(parameter)); } public class CtorTests : TestFixture { public void KeepsEveryArgument() { SaveRegistration registration = Variant(); CheckEqual("M:Store.Put``1(``0)", registration.Id); CheckEqual(SaveTemplate.OfParameter(0), registration.Template); } } public class EqualsTests : TestFixture { public void SameValues_AreEqual() { CheckTrue(Variant().Equals(Variant())); CheckTrue(Variant().Equals((object)Variant())); } public void Null_IsNotEqual() { CheckFalse(Variant().Equals((SaveRegistration)null)); CheckFalse(Variant().Equals((object)null)); } public void DifferentId_IsNotEqual() { CheckFalse(Variant().Equals(Variant(id: "M:Other.Put``1(``0)"))); } public void DifferentTemplate_IsNotEqual() { CheckFalse(Variant().Equals(Variant(parameter: 1))); } } public class GetHashCodeTests : TestFixture { public void EqualRegistrations_HaveEqualHashCodes() { CheckEqual(Variant().GetHashCode(), Variant().GetHashCode()); } } } }