📄 linesegmenttest.cpp
字号:
// $Id: LineSegmentTest.cpp 1842 2006-09-07 15:28:03Z strk $// // Test Suite for geos::geom::LineSegment class.// TUT#include <tut.h>// GEOS#include <geos/geom/LineSegment.h>#include <geos/geom/Coordinate.h>#include <iostream>namespace tut{ // // Test Group // struct test_lineseg_data { geos::geom::Coordinate ph1; geos::geom::Coordinate ph2; geos::geom::Coordinate pv1; geos::geom::Coordinate pv2; geos::geom::LineSegment h1; geos::geom::LineSegment v1; test_lineseg_data() : ph1(0, 2), ph2(10, 2), pv1(0, 0), pv2(0, 10), h1(ph1, ph2), v1(pv1, pv2) {} }; typedef test_group<test_lineseg_data> group; typedef group::object object; group test_lineseg_group("geos::geom::LineSegment"); // // Test Cases // // 1 - Test reverse() template<> template<> void object::test<1>() { ensure(v1[0] == pv1); ensure(v1[1] == pv2); v1.reverse(); ensure(v1[1] == pv1); ensure(v1[0] == pv2); ensure(h1[0] == ph1); ensure(h1[1] == ph2); h1.reverse(); ensure(h1[1] == ph1); ensure(h1[0] == ph2); } // 2 - Horizontal LineSegment test template<> template<> void object::test<2>() { ensure( h1.isHorizontal() ); v1.reverse(); ensure( h1.isHorizontal() ); } // 3 - Vertical LineSegment test template<> template<> void object::test<3>() { ensure( v1.isVertical() ); v1.reverse(); ensure( v1.isVertical() ); } // 4 - Test distance() template<> template<> void object::test<4>() { ensure_equals( h1.distance(v1), 0 ); v1.reverse(); ensure_equals( h1.distance(v1), 0 ); h1.reverse(); ensure_equals( h1.distance(v1), 0 ); } // 5 - Test getLength() template<> template<> void object::test<5>() { ensure_equals( v1.getLength(), 10 ); v1.reverse(); ensure_equals( v1.getLength(), 10 ); ensure_equals( h1.getLength(), 10 ); h1.reverse(); ensure_equals( h1.getLength(), 10 ); } // 6 - Test distance again() template<> template<> void object::test<6>() { geos::geom::Coordinate p(1, 1); ensure_equals( v1.distance(p), 1 ); v1.reverse(); ensure_equals( v1.distance(p), 1 ); }} // namespace tut
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -