github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/internal/compiler/irgen/network_test.go (about) 1 package irgen 2 3 import ( 4 "testing" 5 6 "github.com/nevalang/neva/internal/runtime/ir" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func Test_joinNodePath(t *testing.T) { 11 type args struct { 12 nodePath []string 13 nodeName string 14 } 15 tests := []struct { 16 name string 17 args args 18 want string 19 }{ 20 { 21 name: "simple_join", 22 args: args{ 23 nodePath: []string{"foo", "bar"}, 24 nodeName: "baz", 25 }, 26 want: "foo/bar/baz", 27 }, 28 } 29 for _, tt := range tests { 30 t.Run(tt.name, func(t *testing.T) { 31 if got := joinNodePath(tt.args.nodePath, tt.args.nodeName); got != tt.want { 32 t.Errorf("joinNodePath() = %v, want %v", got, tt.want) 33 } 34 }) 35 } 36 } 37 38 func Test_sortPortAddrs(t *testing.T) { 39 tests := []struct { 40 name string 41 addrs []ir.PortAddr 42 want []ir.PortAddr 43 }{ 44 { 45 name: "messed up order", 46 addrs: []ir.PortAddr{ 47 {Path: "b", Port: "A", Idx: 1}, 48 {Path: "b", Port: "A", Idx: 0}, 49 {Path: "a", Port: "B", Idx: 0}, 50 {Path: "a", Port: "B", Idx: 1}, 51 {Path: "a", Port: "A", Idx: 2}, 52 {Path: "a", Port: "A", Idx: 1}, 53 {Path: "a", Port: "A", Idx: 0}, 54 }, 55 want: []ir.PortAddr{ 56 {Path: "a", Port: "A", Idx: 0}, 57 {Path: "a", Port: "A", Idx: 1}, 58 {Path: "a", Port: "A", Idx: 2}, 59 {Path: "a", Port: "B", Idx: 0}, 60 {Path: "a", Port: "B", Idx: 1}, 61 {Path: "b", Port: "A", Idx: 0}, 62 {Path: "b", Port: "A", Idx: 1}, 63 }, 64 }, 65 } 66 for _, tt := range tests { 67 t.Run(tt.name, func(t *testing.T) { 68 sortPortAddrs(tt.addrs) 69 require.Equal(t, tt.want, tt.addrs) 70 }) 71 } 72 }