public void MergeIgnoresMatchingBaseTypes()
{
var foo = new SimpleTypeReference("Foo");
var bar = new SimpleTypeReference("Bar");
var fooOfBar = new GenericTypeReference("Foo", bar);
var barOfFoo = new GenericTypeReference("Bar", foo);
var subject = new ClassDefinition();
subject.BaseTypes.Add(bar);
subject.BaseTypes.Add(fooOfBar);
var node = new ClassDefinition();
node.BaseTypes.Add(foo);
node.BaseTypes.Add(bar.CloneNode());
node.BaseTypes.Add(fooOfBar.CloneNode());
node.BaseTypes.Add(barOfFoo);
subject.Merge(node);
Assert.AreEqual(new[] { bar, fooOfBar, foo, barOfFoo }, subject.BaseTypes.ToArray());
}