kubernetes directed_acyclic_test 源码
kubernetes directed_acyclic_test 代码
文件路径:/third_party/forked/gonum/graph/simple/directed_acyclic_test.go
// Copyright ©2014 The gonum Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package simple
import (
	"math"
	"testing"
	"k8s.io/kubernetes/third_party/forked/gonum/graph"
)
var _ graph.Graph = &DirectedAcyclicGraph{}
var _ graph.Directed = &DirectedAcyclicGraph{}
// Tests Issue #27
func TestAcyclicEdgeOvercounting(t *testing.T) {
	g := generateDummyAcyclicGraph()
	if neigh := g.From(Node(Node(2))); len(neigh) != 2 {
		t.Errorf("Node 2 has incorrect number of neighbors got neighbors %v (count %d), expected 2 neighbors {0,1}", neigh, len(neigh))
	}
}
func generateDummyAcyclicGraph() *DirectedAcyclicGraph {
	nodes := [4]struct{ srcID, targetID int }{
		{2, 1},
		{1, 0},
		{0, 2},
		{2, 0},
	}
	g := NewDirectedAcyclicGraph(0, math.Inf(1))
	for _, n := range nodes {
		g.SetEdge(Edge{F: Node(n.srcID), T: Node(n.targetID), W: 1})
	}
	return g
}
// Test for issue #123 https://github.com/gonum/graph/issues/123
func TestAcyclicIssue123DirectedGraph(t *testing.T) {
	defer func() {
		if r := recover(); r != nil {
			t.Errorf("unexpected panic: %v", r)
		}
	}()
	g := NewDirectedAcyclicGraph(0, math.Inf(1))
	n0 := Node(g.NewNodeID())
	g.AddNode(n0)
	n1 := Node(g.NewNodeID())
	g.AddNode(n1)
	g.RemoveNode(n0)
	n2 := Node(g.NewNodeID())
	g.AddNode(n2)
}
相关信息
相关文章
                        
                            0
                        
                        
                             赞
                        
                    
                    
                热门推荐
- 
                        2、 - 优质文章
 - 
                        3、 gate.io
 - 
                        7、 openharmony
 - 
                        9、 golang