...

Source file src/k8s.io/kubernetes/third_party/forked/gonum/graph/simple/undirected_test.go

Documentation: k8s.io/kubernetes/third_party/forked/gonum/graph/simple

     1  // Copyright ©2014 The gonum Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package simple
     6  
     7  import (
     8  	"math"
     9  	"testing"
    10  
    11  	"k8s.io/kubernetes/third_party/forked/gonum/graph"
    12  )
    13  
    14  var _ graph.Graph = (*UndirectedGraph)(nil)
    15  
    16  func TestAssertMutableNotDirected(t *testing.T) {
    17  	var g graph.UndirectedBuilder = NewUndirectedGraph(0, math.Inf(1))
    18  	if _, ok := g.(graph.Directed); ok {
    19  		t.Fatal("Graph is directed, but a MutableGraph cannot safely be directed!")
    20  	}
    21  }
    22  
    23  func TestMaxID(t *testing.T) {
    24  	g := NewUndirectedGraph(0, math.Inf(1))
    25  	nodes := make(map[graph.Node]struct{})
    26  	for i := Node(0); i < 3; i++ {
    27  		g.AddNode(i)
    28  		nodes[i] = struct{}{}
    29  	}
    30  	g.RemoveNode(Node(0))
    31  	delete(nodes, Node(0))
    32  	g.RemoveNode(Node(2))
    33  	delete(nodes, Node(2))
    34  	n := Node(g.NewNodeID())
    35  	g.AddNode(n)
    36  	if !g.Has(n) {
    37  		t.Error("added node does not exist in graph")
    38  	}
    39  	if _, exists := nodes[n]; exists {
    40  		t.Errorf("Created already existing node id: %v", n.ID())
    41  	}
    42  }
    43  
    44  // Test for issue #123 https://github.com/gonum/graph/issues/123
    45  func TestIssue123UndirectedGraph(t *testing.T) {
    46  	defer func() {
    47  		if r := recover(); r != nil {
    48  			t.Errorf("unexpected panic: %v", r)
    49  		}
    50  	}()
    51  	g := NewUndirectedGraph(0, math.Inf(1))
    52  
    53  	n0 := Node(g.NewNodeID())
    54  	g.AddNode(n0)
    55  
    56  	n1 := Node(g.NewNodeID())
    57  	g.AddNode(n1)
    58  
    59  	g.RemoveNode(n0)
    60  
    61  	n2 := Node(g.NewNodeID())
    62  	g.AddNode(n2)
    63  }
    64  

View as plain text