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" })); }
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)); }