linesegmenttest.cpp

来自「在Linux下做的QuadTree的程序」· C++ 代码 · 共 120 行

CPP
120
字号
// $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 + =
减小字号Ctrl + -
显示快捷键?