public void RemoveCluster()
        {
            var wrappedGraph = new AdjacencyGraph <int, Edge <int> >();
            var graph        = new ClusteredAdjacencyGraph <int, Edge <int> >(wrappedGraph);

            AssertNoCluster(graph);

            IClusteredGraph cluster            = graph.AddCluster();
            IClusteredGraph cluster2           = graph.AddCluster();
            IClusteredGraph cluster3           = graph.AddCluster();
            var             wrappedGraph2      = new AdjacencyGraph <int, Edge <int> >();
            var             graphNotInClusters = new ClusteredAdjacencyGraph <int, Edge <int> >(wrappedGraph2);

            graph.RemoveCluster(graphNotInClusters);
            AssertHasClusters(graph, new[] { cluster, cluster2, cluster3 });

            graph.RemoveCluster(cluster2);
            AssertHasClusters(graph, new[] { cluster, cluster3 });

            graph.RemoveCluster(cluster);
            AssertHasClusters(graph, new[] { cluster3 });

            graph.RemoveCluster(cluster3);
            AssertNoCluster(graph);
        }
        public void RemoveCluster_Throws()
        {
            var wrappedGraph = new AdjacencyGraph <int, Edge <int> >();
            var graph        = new ClusteredAdjacencyGraph <int, Edge <int> >(wrappedGraph);

            // ReSharper disable once AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => graph.RemoveCluster(null));
        }