using UnitTestSharp; namespace Ariadne.Generator.UnitTests { public class ArcFileTests : TestFixture { public class CtorTests : TestFixture { public void KeepsTheNameAndTheText() { var file = new ArcFile("Script.CodeBehind.cs", "text"); CheckEqual("Script.CodeBehind.cs", file.FileName); CheckEqual("text", file.Text); } } public class EqualsTests : TestFixture { public void SameValues_AreEqual() { CheckTrue(new ArcFile("A.cs", "text").Equals(new ArcFile("A.cs", "text"))); CheckTrue(new ArcFile("A.cs", "text").Equals((object)new ArcFile("A.cs", "text"))); } public void Null_IsNotEqual() { CheckFalse(new ArcFile("A.cs", "text").Equals((ArcFile)null)); CheckFalse(new ArcFile("A.cs", "text").Equals((object)null)); } public void OtherType_IsNotEqual() { CheckFalse(new ArcFile("A.cs", "text").Equals("A.cs")); } public void DifferentName_IsNotEqual() { CheckFalse(new ArcFile("A.cs", "text").Equals(new ArcFile("B.cs", "text"))); } public void DifferentText_IsNotEqual() { CheckFalse(new ArcFile("A.cs", "text").Equals(new ArcFile("A.cs", "other"))); } } public class GetHashCodeTests : TestFixture { public void EqualFiles_HaveEqualHashCodes() { CheckEqual(new ArcFile("A.cs", "text").GetHashCode(), new ArcFile("A.cs", "text").GetHashCode()); } } } }