public void GdalDocument_Remove()
        {
            var doc = new GdalConfigurationDocument();
            var loc = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_1"
            };

            Assert.False(doc.RemoveLocation(loc));
            doc.AddLocation(loc);
            var loc2 = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_1"
            };

            Assert.True(doc.RemoveLocation(loc2));
        }
        public void GdalDocument_CalculateExtents()
        {
            var doc = new GdalConfigurationDocument();

            Assert.Null(doc.CalculateExtent());
            var loc = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_1"
            };

            loc.AddItem(new GdalRasterItem {
                FileName = "1_1.tif", MinX = 1, MinY = 1, MaxX = 2, MaxY = 2
            });
            doc.AddLocation(loc);
            var ext = doc.CalculateExtent();

            Assert.Equal(1, ext.MinX);
            Assert.Equal(1, ext.MinY);
            Assert.Equal(2, ext.MaxX);
            Assert.Equal(2, ext.MaxY);
            var loc2 = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_2"
            };

            loc2.AddItem(new GdalRasterItem {
                FileName = "2_1.tif", MinX = -1, MinY = -1, MaxX = 2, MaxY = 2
            });
            doc.AddLocation(loc2);
            ext = doc.CalculateExtent();
            Assert.Equal(-1, ext.MinX);
            Assert.Equal(-1, ext.MinY);
            Assert.Equal(2, ext.MaxX);
            Assert.Equal(2, ext.MaxY);
            loc2.AddItem(new GdalRasterItem {
                FileName = "1_2.tif", MinX = 2, MinY = 1, MaxX = 3, MaxY = 3
            });
            ext = doc.CalculateExtent();
            Assert.Equal(-1, ext.MinX);
            Assert.Equal(-1, ext.MinY);
            Assert.Equal(3, ext.MaxX);
            Assert.Equal(3, ext.MaxY);
        }
        public void GdalDocument_AddLocationDeDupes()
        {
            var doc = new GdalConfigurationDocument();
            var loc = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_1"
            };

            doc.AddLocation(loc);
            Assert.Single(doc.RasterLocations);
            var loc2 = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_1"
            };

            doc.AddLocation(loc2);
            Assert.Single(doc.RasterLocations);
            var loc3 = new GdalRasterLocationItem {
                Location = "C:\\temp\\location_2"
            };

            doc.AddLocation(loc3);
            Assert.Equal(2, doc.RasterLocations.Length);
        }