using UnitTestSharp; namespace Vellum.Generator.UnitTests { public class BaseArgumentsTests : TestFixture { public static BaseArguments Variant(string name = "Herd", int firstChild = 2, int childCount = 1) { return new BaseArguments(name, firstChild, childCount); } public class CtorTests : TestFixture { public void KeepsEveryArgument() { BaseArguments arguments = Variant(); CheckEqual("Herd", arguments.Name); CheckEqual(2, arguments.FirstChild); CheckEqual(1, arguments.ChildCount); } } public class EqualsTests : TestFixture { public void SameValues_AreEqual() { CheckTrue(Variant().Equals(Variant())); CheckTrue(Variant().Equals((object)Variant())); } public void Null_IsNotEqual() { CheckFalse(Variant().Equals((BaseArguments)null)); CheckFalse(Variant().Equals((object)null)); } public void DifferentName_IsNotEqual() { CheckFalse(Variant().Equals(Variant(name: "Other"))); } public void DifferentFirstChild_IsNotEqual() { CheckFalse(Variant().Equals(Variant(firstChild: 3))); } public void DifferentChildCount_IsNotEqual() { CheckFalse(Variant().Equals(Variant(childCount: 2))); } } public class GetHashCodeTests : TestFixture { public void EqualArguments_HaveEqualHashCodes() { CheckEqual(Variant().GetHashCode(), Variant().GetHashCode()); } } } }