public void TrainDrawingInfoClassLineVertexesPropertyGetMethodOnlyReturnsDistinctVertexesWhereVertexObjectsAreSharedBetweenLines()
        {
            TrainDrawingInfo testObject = new TrainDrawingInfo();
            int vertexCount             = _rnd.Next(10) + 1;
            int lineCount = _rnd.Next(10) + vertexCount;

            VertexInformation[] vertexSource = new VertexInformation[vertexCount];
            bool[] vertexesUsed = new bool[vertexCount];
            for (int i = 0; i < vertexCount; ++i)
            {
                vertexSource[i] = GetVertexInformation(testObject);
            }
            for (int i = 0; i < lineCount; ++i)
            {
                int firstIndex  = _rnd.Next(vertexCount);
                int secondIndex = _rnd.Next(vertexCount);
                testObject.Lines.Add(new LineCoordinates(vertexSource[firstIndex], vertexSource[secondIndex]));
                vertexesUsed[firstIndex]  = true;
                vertexesUsed[secondIndex] = true;
            }
            List <VertexInformation> vertexList = vertexSource.Where((v, i) => vertexesUsed[i]).ToList();

            List <VertexInformation> testOutput = testObject.LineVertexes.ToList();

            Assert.AreEqual(vertexList.Count, testOutput.Count);
            foreach (VertexInformation vi in testOutput)
            {
                Assert.IsTrue(vertexList.Contains(vi));
                vertexList.Remove(vi);
            }
        }