public void UpdateBasedOnElements()
        {
            var a = new TestElement("0", "A");
            var c = new ObservableCollectionEx <TestElement> {
                a,
                new TestElement("1", "C")
            };

            var source = new[] { new TestElement("2", "B"), new TestElement("0", "A") };

            c.Update(source, te => te.Id);

            Assert.That(c.Count, Is.EqualTo(2));
            Assert.That(c[0], Is.SameAs(source[0]));
            Assert.That(c[1], Is.SameAs(a));
        }