当前位置: 首页>>代码示例>>Golang>>正文


Golang TileCoord.Equals方法代码示例

本文整理汇总了Golang中gopnik.TileCoord.Equals方法的典型用法代码示例。如果您正苦于以下问题:Golang TileCoord.Equals方法的具体用法?Golang TileCoord.Equals怎么用?Golang TileCoord.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gopnik.TileCoord的用法示例。


在下文中一共展示了TileCoord.Equals方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: TestQueueDub

func TestQueueDub(t *testing.T) {
	rq := newRenderQueue(10)

	coordA := gopnik.TileCoord{
		X:    10,
		Y:    7,
		Zoom: 11,
	}
	coordB := gopnik.TileCoord{
		X:    10,
		Y:    7,
		Zoom: 11,
	}
	resCh := make(chan *RenderPoolResponse, 1)

	go func() {
		err := rq.Push(coordA, resCh)
		if err != nil {
			t.Errorf("Push error: %v", err)
		}
		err = rq.Push(coordB, resCh)
		if err != nil {
			t.Errorf("Push error: %v", err)
		}
	}()

	coord2 := <-rq.TasksChan()
	if !coordA.Equals(&coord2) {
		t.Error("Coordinates not equal")
	}
}
开发者ID:mikhailborodin,项目名称:gopnik,代码行数:31,代码来源:renderpoolqueue_test.go

示例2: setStatus

func (self *plan) setStatus(coord gopnik.TileCoord, status uint8) error {
	self.mu.Lock()
	defer self.mu.Unlock()

	for i, c := range self.bboxes {
		if coord.Equals(&c) {
			self.status[i] = status
			self.cond.Broadcast()
			return nil
		}
	}
	return fmt.Errorf("Can't find task %v", coord)
}
开发者ID:mikhailborodin,项目名称:gopnik,代码行数:13,代码来源:plan.go

示例3: TestQueueWaitMulti

func TestQueueWaitMulti(t *testing.T) {
	rq := newRenderQueue(10)

	coordA := gopnik.TileCoord{
		X:    10,
		Y:    7,
		Zoom: 11,
	}
	coordB := gopnik.TileCoord{
		X:    3,
		Y:    5,
		Zoom: 12,
	}
	coordC := gopnik.TileCoord{
		X:    3,
		Y:    5,
		Zoom: 12,
		Size: 4,
	}
	resCh := make(chan *RenderPoolResponse, 10)

	go func() {
		time.Sleep(1 * time.Millisecond)
		err := rq.Push(coordA, resCh)
		if err != nil {
			t.Errorf("Push error: %v", err)
		}
		time.Sleep(1 * time.Millisecond)
		err = rq.Push(coordB, resCh)
		if err != nil {
			t.Errorf("Push error: %v", err)
		}
		time.Sleep(1 * time.Millisecond)
		err = rq.Push(coordC, resCh)
		if err != nil {
			t.Errorf("Push error: %v", err)
		}
	}()

	coordA2 := <-rq.TasksChan()
	if !coordA.Equals(&coordA2) {
		t.Errorf("Coordinates not equal: %v != %v", coordA2, coordA)
	}

	coordB2 := <-rq.TasksChan()
	if !coordB.Equals(&coordB2) {
		t.Errorf("Coordinates not equal: %v != %v", coordB2, coordB)
	}

	coordC2 := <-rq.TasksChan()
	if !coordC.Equals(&coordC2) {
		t.Errorf("Coordinates not equal: %v != %v", coordC2, coordC)
	}
}
开发者ID:mikhailborodin,项目名称:gopnik,代码行数:54,代码来源:renderpoolqueue_test.go


注:本文中的gopnik.TileCoord.Equals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。