MultiLinestringsTests.cs
上传用户:sex100000
上传日期:2013-11-09
资源大小:1377k
文件大小:1k
源码类别:

GIS编程

开发平台:

C#

  1. using System;
  2. using NUnit.Framework;
  3. using SharpMap.Geometries;
  4. namespace UnitTests.Geometries
  5. {
  6. [TestFixture]
  7. public class MultiLinestringsTests
  8. {
  9. [Test]
  10. public void MultiLinestring()
  11. {
  12. MultiLineString mls = new MultiLineString();
  13. Assert.IsTrue(mls.IsEmpty());
  14. mls.LineStrings.Add(new LineString());
  15. Assert.IsTrue(mls.IsEmpty());
  16. mls.LineStrings[0].Vertices.Add(new Point(45, 68));
  17. mls.LineStrings[0].Vertices.Add(new Point(82, 44));
  18. mls.LineStrings.Add(CreateLineString());
  19. foreach (LineString ls in mls)
  20. Assert.IsFalse(ls.IsEmpty());
  21. Assert.IsFalse(mls.IsEmpty());
  22. foreach (LineString ls in mls)
  23. Assert.IsFalse(ls.IsClosed);
  24. Assert.IsFalse(mls.IsClosed);
  25. //Close linestrings
  26. foreach (LineString ls in mls)
  27. ls.Vertices.Add(ls.StartPoint.Clone());
  28. foreach (LineString ls in mls)
  29. Assert.IsTrue(ls.IsClosed);
  30. Assert.IsTrue(mls.IsClosed);
  31. Assert.AreEqual(new BoundingBox(1,2,930,123), mls.GetBoundingBox());
  32. }
  33. private LineString CreateLineString()
  34. {
  35. LineString ls = new LineString();
  36. ls.Vertices.Add(new Point(1, 2));
  37. ls.Vertices.Add(new Point(10, 22));
  38. ls.Vertices.Add(new Point(930, 123));
  39. return ls;
  40. }
  41. }
  42. }