예제 #1
0
        public void TestCombine()
        {
            var jointsA = new JointSet("a", "b", "e");
            // using array
            var jointsB = jointsA.Combine(new string[] { "c", "f", "e" });

            Assert.True(jointsB.ToArray().SequenceEqual(new string[] { "a", "b", "e", "c", "f" }));
            Assert.False(jointsB.ToArray().SequenceEqual(new string[] { "a", "b", "c", "d", "e" }));
            // using JointSet
            jointsB = jointsA.Combine(new JointSet("c", "f", "e"));
            Assert.True(jointsB.ToArray().SequenceEqual(new string[] { "a", "b", "e", "c", "f" }));
            Assert.False(jointsB.ToArray().SequenceEqual(new string[] { "a", "b", "c", "d", "e" }));
        }
예제 #2
0
        public void TestMerge()
        {
            var jointsA = new JointSet("a", "b", "c");
            var jointsB = new JointSet("d", "e", "f");
            var a       = new JointValues(jointsA, new double[] { 0, 1, 2 });
            var b       = new JointValues(jointsB, new double[] { 3, 4, 5 });

            var result = a.Merge(b);

            Assert.Equal(6, result.Count);
            Assert.True(result.Values.SequenceEqual(new double[] { 0, 1, 2, 3, 4, 5 }));

            var fullJoints = jointsA.Combine(jointsB);

            Assert.True(result.JointSet.IsSimilar(fullJoints));
        }