gorgonia.org/gorgonia@v0.9.17/values_utils_test.go (about)

     1  package gorgonia
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gorgonia.org/tensor"
     7  )
     8  
     9  var cloneValTests = []Value{
    10  	// prims
    11  	NewF64(10.0),
    12  	NewF32(10.0),
    13  	NewI(10),
    14  	NewI64(10),
    15  	NewI32(10),
    16  	NewU8(10),
    17  	NewB(true),
    18  
    19  	tensor.New(tensor.Of(tensor.Float64), tensor.WithShape(2, 4, 6)),
    20  	tensor.New(tensor.Of(tensor.Float32), tensor.WithShape(2, 4, 6)),
    21  }
    22  
    23  func TestCloneValue(t *testing.T) {
    24  	for _, cvts := range cloneValTests {
    25  		v, err := CloneValue(cvts)
    26  		if err != nil {
    27  			t.Error(err)
    28  		}
    29  
    30  		if v == cvts {
    31  			t.Errorf("Expected values to have different pointers. Got %p == %p", v, cvts)
    32  		}
    33  
    34  		if !ValueEq(cvts, v) {
    35  			t.Errorf("Cloning failed")
    36  		}
    37  	}
    38  }