Beispiel #1
0
        public void Merge()
        {
            var emptyEdge1 = new MergedEdge <int, Edge <int> >(1, 2);
            var emptyEdge2 = new MergedEdge <int, Edge <int> >(1, 2);
            var subEdge1   = new Edge <int>(1, 2);
            var subEdge2   = new Edge <int>(1, 2);
            var subEdge3   = new Edge <int>(1, 2);
            var edge1      = new MergedEdge <int, Edge <int> >(1, 2);

            edge1.Edges.Add(subEdge1);
            var edge2 = new MergedEdge <int, Edge <int> >(1, 2);

            edge2.Edges.Add(subEdge2);
            edge2.Edges.Add(subEdge3);

            MergedEdge <int, Edge <int> > mergedEdge = MergedEdge.Merge(emptyEdge1, emptyEdge2);

            Assert.IsNotNull(mergedEdge);
            CollectionAssert.IsEmpty(mergedEdge.Edges);

            mergedEdge = MergedEdge.Merge(emptyEdge1, edge1);
            Assert.IsNotNull(mergedEdge);
            CollectionAssert.AreEqual(new[] { subEdge1 }, mergedEdge.Edges);

            mergedEdge = MergedEdge.Merge(edge1, emptyEdge1);
            Assert.IsNotNull(mergedEdge);
            CollectionAssert.AreEqual(new[] { subEdge1 }, mergedEdge.Edges);

            mergedEdge = MergedEdge.Merge(edge1, edge2);
            Assert.IsNotNull(mergedEdge);
            CollectionAssert.AreEqual(new[] { subEdge1, subEdge2, subEdge3 }, mergedEdge.Edges);
        }
Beispiel #2
0
        public void Merge_Throws()
        {
            var edge = new MergedEdge <int, Edge <int> >(1, 2);

            // ReSharper disable ReturnValueOfPureMethodIsNotUsed
            // ReSharper disable AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => MergedEdge.Merge(edge, null));
            Assert.Throws <ArgumentNullException>(() => MergedEdge.Merge(null, edge));
            Assert.Throws <ArgumentNullException>(() => MergedEdge.Merge <int, Edge <int> >(null, null));
            // ReSharper restore AssignNullToNotNullAttribute
            // ReSharper restore ReturnValueOfPureMethodIsNotUsed
        }