public void TestMerge()
        {
            Placemark placemark = null;
            Placemark target    = null;

            Assert.That(() => target.Merge(placemark),
                        Throws.TypeOf <ArgumentNullException>());

            placemark = new Placemark();
            Assert.That(() => target.Merge(placemark),
                        Throws.TypeOf <ArgumentNullException>());

            // Test basic merge on empty target
            placemark.Id = "source";
            Point point = new Point();

            point.Coordinate   = new Vector(1.1, -1.1);
            placemark.Geometry = point;

            target = new Placemark();
            target.Merge(placemark);
            Assert.That(target.Id, Is.EqualTo(placemark.Id));
            Assert.That(((Point)target.Geometry).Coordinate, Is.EqualTo(((Point)placemark.Geometry).Coordinate));
            Assert.That(target.Geometry, Is.Not.SameAs(placemark.Geometry)); // Make sure it's not the same instance

            // Test overwrite
            target          = new Placemark();
            target.Id       = "target";
            target.Name     = "target";
            target.Geometry = new Point();

            target.Merge(placemark);
            Assert.That(target.Id, Is.EqualTo(placemark.Id));
            Assert.That(target.Name, Is.EqualTo("target"));
            Assert.That(((Point)target.Geometry).Coordinate, Is.EqualTo(((Point)placemark.Geometry).Coordinate));
            Assert.That(target.Geometry, Is.Not.SameAs(placemark.Geometry));
        }
        public void TestMergeHtmlContent()
        {
            var source = new Placemark
            {
                Description = new Description
                {
                    Text = "From source"
                }
            };

            var target = new Placemark
            {
                Description = new Description
                {
                    Text = "Original text"
                }
            };

            target.Merge(source);

            Assert.That(target.Description.Text, Is.EqualTo("From source"));
        }