public void TestProjectEqualsWhenAllPropertiesEqual()
        {
            // Arrange
            var testProjectAnalyzerResult = Mock.Of <IAnalyzerResult>();
            var testCase1Id = Guid.NewGuid();
            var fileA       = new TestFile
            {
                FilePath = "/c/",
                Source   = "bla",
                Tests    = new HashSet <TestCase>
                {
                    new TestCase
                    {
                        Id     = testCase1Id,
                        Line   = 1,
                        Name   = "test1",
                        Source = "bla"
                    },
                    new TestCase
                    {
                        Id     = Guid.NewGuid(),
                        Line   = 2,
                        Name   = "test2",
                        Source = "bla"
                    }
                }
            };
            var fileB = new TestFile
            {
                FilePath = "/c/",
                Source   = "bla",
                Tests    = new HashSet <TestCase>
                {
                    new TestCase
                    {
                        Id     = testCase1Id,
                        Line   = 1,
                        Name   = "test1",
                        Source = "bla"
                    }
                }
            };

            var testProjectA = new TestProject
            {
                TestProjectAnalyzerResult = testProjectAnalyzerResult,
                TestFiles = new HashSet <TestFile> {
                    fileA
                }
            };

            var testProjectB = new TestProject
            {
                TestProjectAnalyzerResult = testProjectAnalyzerResult,
                TestFiles = new HashSet <TestFile> {
                    fileB
                }
            };

            // Assert
            testProjectA.ShouldBe(testProjectB);
            testProjectA.GetHashCode().ShouldBe(testProjectB.GetHashCode());
        }