public void FillWithRandomPositions(
            double width,
            double height,
            double translateX,
            double translateY,
            [NotNull] IEnumerable <int> vertices,
            [NotNull] IDictionary <int, Point> verticesPositions)
        {
            int[] verticesArray   = vertices as int[] ?? vertices.ToArray();
            int[] initialVertices = verticesPositions.Keys.ToArray();
            LayoutUtils.FillWithRandomPositions(
                width,
                height,
                translateX,
                translateY,
                verticesArray,
                verticesPositions,
                new Random(123));

            Assert.GreaterOrEqual(verticesPositions.Count, verticesArray.Length);
            foreach (int vertex in verticesArray)
            {
                CollectionAssert.Contains(verticesPositions.Keys, vertex);
            }

            // Only on added vertices positions
            foreach (int vertex in verticesArray.Except(initialVertices))
            {
                Assert.GreaterOrEqual(verticesPositions[vertex].X, translateX);
                Assert.LessOrEqual(verticesPositions[vertex].X, width + translateX);

                Assert.GreaterOrEqual(verticesPositions[vertex].Y, translateY);
                Assert.LessOrEqual(verticesPositions[vertex].Y, height + translateY);
            }
        }