-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcodec_test.go
More file actions
173 lines (170 loc) · 17.4 KB
/
codec_test.go
File metadata and controls
173 lines (170 loc) · 17.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
package m17
import (
"reflect"
"testing"
)
func Test_ConvolutionalEncode(t *testing.T) {
type args struct {
in []byte
puncturePattern PuncturePattern
finalBits byte
}
tests := []struct {
name string
args args
want []Bit
wantErr bool
}{
{"empty",
args{
make([]byte, 0),
PacketPuncturePattern,
PacketModeFinalBit,
},
nil,
true,
},
{"empty packet",
args{
make([]byte, 26),
PacketPuncturePattern,
PacketModeFinalBit,
},
[]Bit{
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, // 100
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, // 200
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, // 300
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false},
false,
},
{"packet",
args{
[]byte{0x5, 0x68, 0x69, 0x0, 0x99, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x98},
PacketPuncturePattern,
PacketModeFinalBit,
},
[]Bit{false, false, false, false, false, false, false, false, false, true, true, false, true, true, true, true, false, true, false, false, true, false, false, false, false, true, false, true, true, true, true, true, true, false, false, false, false, false, false, true, false, false, true, false, false, true, true, false, true, false, false, false, false, false, false, false, true, true, false, true, false, true, false, false, true, false, false, true, true, true, false, true, true, true, false, true, true, true, false, false, true, true, true, true, true, true, true, true, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, false, true, false, true, false, false, true, false, false, true, true, false, true, true, false, false},
false,
},
{"lsf",
args{
[]byte{0x0, 0x0, 0x4b, 0x13, 0xd1, 0x6, 0x0, 0x0, 0x1, 0x8a, 0x92, 0xae, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf5, 0x4e},
LSFPuncturePattern,
LSFFinalBit,
},
[]Bit{false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, true, false, true, false, true, false, false, true, true, true, false, true, false, false, true, true, false, true, false, true, true, false, false, true, true, false, false, true, true, false, false, false, true, false, true, false, true, false, false, true, true, false, false, true, true, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, false, false, false, true, false, true, false, false, true, false, true, true, true, true, true, false, false, true, false, false, true, true, true, false, false, true, true, true, true, true, false, false, false, false, true, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false, true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, true, true, false, false, false, true, true, true, false, false, false, true, true, false, false},
false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := ConvolutionalEncode(tt.args.in, tt.args.puncturePattern, tt.args.finalBits)
if (err != nil) != tt.wantErr {
t.Errorf("ConvolutionalEncode() error = %v, wantErr %v", err, tt.wantErr)
return
}
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("ConvolutionalEncode() = %v, want %v", got, tt.want)
}
})
}
}
func TestViterbiDecoder_DecodePunctured(t *testing.T) {
type fields struct {
history []uint16
prevMetrics []uint32
currMetrics []uint32
prevMetricsData []uint32
currMetricsData []uint32
}
type args struct {
puncturedSoftBits []SoftBit
puncturePattern PuncturePattern
}
tests := []struct {
name string
fields fields
args args
want []byte
want1 int
}{
{"LSF",
fields{},
args{
puncturedSoftBits: []SoftBit{0x0, 0xb25, 0x0, 0x0, 0x0, 0x4071, 0x0, 0x0, 0x0, 0x3162, 0xf4f, 0x0, 0x0, 0x0, 0x0, 0x33c3, 0x0, 0x919, 0x0, 0x3273, 0x0, 0x0, 0x61e0, 0x0, 0x0, 0x44e5, 0xffff, 0xe510, 0x0, 0xe32a, 0x2a02, 0xef8b, 0x0, 0x0, 0xe76e, 0x0, 0x0, 0xffff, 0xee6, 0xc463, 0x1503, 0x28d7, 0x0, 0x0, 0xffff, 0xcd93, 0xf9a4, 0x4471, 0xffff, 0xffff, 0x0, 0x0, 0xffff, 0xffff, 0x0, 0xffff, 0xffff, 0x107e, 0x3d9, 0xffff, 0x0, 0xcbfb, 0xffff, 0xffff, 0x0, 0xa61, 0x0, 0x43a9, 0xffff, 0xeaf, 0x0, 0xa21, 0xffff, 0xffff, 0x1751, 0x0, 0x2773, 0x3e55, 0x1dc8, 0x0, 0x0, 0x184a, 0x0, 0x0, 0x741, 0x38fa, 0x0, 0x69d7, 0x1820, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e72, 0x0, 0x1ba1, 0x41f8, 0x0, 0x0, 0x0, 0x0, 0x57d3, 0x548f, 0x0, 0x0, 0xffff, 0xffff, 0xc2, 0x0, 0x3d8a, 0xffff, 0x39, 0xffff, 0x0, 0x6818, 0xffff, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0xfd86, 0x435f, 0x1786, 0xd611, 0x2b80, 0x0, 0xffff, 0xffff, 0xcee0, 0x0, 0x0, 0xe01f, 0xf66e, 0xffff, 0xca8b, 0xffff, 0x3465, 0x0, 0x1d6a, 0x0, 0xff8e, 0xd12, 0x5831, 0x0, 0xffff, 0xd2bc, 0x0, 0x0, 0x401a, 0x0, 0x0, 0x0, 0x3a82, 0x39c9, 0x2977, 0x0, 0x0, 0x3e65, 0x3cc9, 0x0, 0x4b1f, 0xe46b, 0xc2a0, 0x0, 0xffff, 0x0, 0xffff, 0xffff, 0x0, 0xffff, 0xe1f8, 0xf1a6, 0x0, 0x0, 0x0, 0x116e, 0x1b5e, 0x0, 0x2394, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb7, 0x0, 0x12e7, 0x5334, 0x100d, 0x0, 0x33e3, 0x0, 0x0, 0x0, 0x487, 0x2a27, 0x159a, 0x0, 0x1144, 0x0, 0x2a08, 0x0, 0x267e, 0x0, 0x3d57, 0x0, 0x8b7, 0x0, 0x0, 0xdf6, 0x0, 0x0, 0x0, 0x4da3, 0x2cd0, 0x19e5, 0x1004, 0x0, 0x0, 0x0, 0x3149, 0x0, 0x0, 0x0, 0x1afe, 0x0, 0x3bef, 0x0, 0x274, 0x0, 0x2f06, 0x0, 0x0, 0x0, 0x0, 0x4db, 0x53d3, 0x0, 0x0, 0x0, 0x5fa0, 0x0, 0xdea, 0x0, 0xa45, 0x0, 0x159d, 0x0, 0x18e0, 0x22e8, 0x0, 0x1b21, 0x13b7, 0x0, 0x3b5d, 0x0, 0x41f9, 0x0, 0x0, 0x0, 0x0, 0x38e, 0x1633, 0x3f11, 0x4900, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2de9, 0x2a0c, 0x1d16, 0x0, 0x14f5, 0x0, 0x22ee, 0x0, 0x0, 0x0, 0xd2c, 0x1697, 0x0, 0x0, 0x4f76, 0x0, 0x3254, 0x182e, 0x558, 0x0, 0x0, 0x31df, 0x0, 0x0, 0x0, 0x0, 0xcc9, 0x0, 0x0, 0x0, 0x4c5, 0x0, 0x2b36, 0x5858, 0x0, 0x0, 0x280c, 0x679, 0x0, 0x0, 0xa87, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1497, 0xeac, 0x0, 0x497d, 0x3f08, 0x0, 0x31e3, 0x0, 0x0, 0x0, 0x4c9b, 0x353, 0x2e3, 0x5b86, 0x3dc7, 0x0, 0x0, 0x2a50, 0x185, 0x372, 0xf317, 0xffff, 0xd621, 0x0, 0x197b, 0x0, 0xffff, 0xffff, 0xd9f1, 0xc515, 0xffff, 0xaae7, 0xffff, 0x4f4b, 0xffff, 0x0, 0x0, 0x0, 0xfdac, 0x0, 0xffff, 0x0, 0x3317, 0xffff, 0xad85, 0x0, 0xe1d6, 0x0, 0x1a6f},
puncturePattern: LSFPuncturePattern,
},
[]byte{0x0, 0x0, 0x0, 0x7c, 0x6d, 0xf4, 0xb8, 0x0, 0x0, 0x1, 0x8a, 0x92, 0xae, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0xba},
83,
},
{"Stream",
fields{},
args{
puncturedSoftBits: []SoftBit{0x23b1, 0x3226, 0x201c, 0x0, 0x0, 0x0, 0x0, 0x1d5f, 0x0, 0x4945, 0x0, 0x0, 0x621b, 0x17f0, 0x0, 0x6be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x771, 0x0, 0x37ce, 0x0, 0x0, 0x0, 0x25d2, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x3bc, 0xffff, 0x0, 0xffff, 0xfe9, 0xd6d1, 0xffff, 0x0, 0xffff, 0x0, 0x71f1, 0x0, 0x0, 0x0, 0xec14, 0x12a, 0xffff, 0x0, 0x0, 0x0, 0xffff, 0xffff, 0x0, 0x1a64, 0x0, 0x0, 0xffff, 0xffff, 0x88d, 0xffff, 0x2b36, 0xffff, 0xfb97, 0x301e, 0x7620, 0xffff, 0x4540, 0xffff, 0xe84a, 0x0, 0xf8c2, 0xedf1, 0x0, 0xffff, 0x0, 0xffff, 0x4ed0, 0x0, 0x0, 0xffff, 0xcf91, 0xffff, 0xe1de, 0xffff, 0x875b, 0xf61c, 0xffff, 0x0, 0xffff, 0x0, 0xf5ac, 0xffff, 0xf10f, 0x0, 0x706, 0x0, 0xb926, 0xffff, 0xffff, 0x0, 0x27ed, 0xb232, 0x3f14, 0x9f04, 0xea5b, 0xc391, 0x7f6e, 0xffff, 0xade, 0xffff, 0x47c6, 0x6c73, 0x853d, 0x1f85, 0x0, 0x0, 0xffff, 0xffff, 0xfdf5, 0xcb1d, 0x617e, 0xd1b8, 0x0, 0xffff, 0x0, 0xb5cd, 0xc06a, 0xe41, 0xffff, 0xffff, 0x9889, 0xffff, 0x0, 0x0, 0xffff, 0xffff, 0x0, 0xfe30, 0x41, 0xffff, 0xeb7d, 0x0, 0xb424, 0x0, 0x1d8b, 0x0, 0xffff, 0x2715, 0x0, 0x0, 0xffff, 0x0, 0xb1ce, 0xffff, 0xff81, 0x1d92, 0x2db9, 0x0, 0x0, 0x2c59, 0x1c36, 0xffff, 0x30a2, 0xf7c9, 0xed37, 0x0, 0x0, 0x378f, 0x42f5, 0x0, 0xdf6c, 0x0, 0x0, 0x0, 0xf0c7, 0x1c66, 0x132d, 0xffff, 0x4ed5, 0x0, 0x423d, 0x0, 0x0, 0xffff, 0x5ad7, 0x6391, 0xc7ff, 0x0, 0xfe45, 0xffff, 0xffff, 0xf467, 0xf777, 0xf9d8, 0xbf6a, 0x0, 0xe35a, 0x9160, 0x7cc1, 0xa0e2, 0xffff, 0xffff, 0x20d8, 0xfb04, 0x9f7d, 0xffff, 0x3557, 0x0, 0xffff, 0x0, 0x1294, 0xcebb, 0xec5e, 0xffff, 0xba76, 0x0, 0x16af, 0xffff, 0x1692, 0x0, 0xffff, 0xffff, 0xffff, 0xffff, 0x718, 0x0, 0x24af, 0xcf65, 0xe43a, 0x0, 0x36f3, 0xc5a3, 0xb6e3, 0x730f, 0xb0d0, 0xffff, 0xea0c, 0xffff, 0x0, 0x0, 0xffff, 0xffff, 0x0, 0xffff, 0xe3c1, 0xe730, 0xdba5, 0x0, 0xffff, 0x0, 0xffff, 0x0, 0xb73f, 0xffff, 0xe9d4, 0xffff, 0x0, 0xff73, 0x0, 0x9af6, 0xcd0f, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x405d, 0x2961, 0x3275},
puncturePattern: StreamPuncturePattern,
},
[]byte{0x0, 0x0, 0x0, 0x4b, 0xc0, 0x8f, 0xc3, 0xd4, 0xfc, 0x25, 0x28, 0xc0, 0x5c, 0x6e, 0xc3, 0x9c, 0xe4, 0x21, 0x8},
34,
},
{"Packet",
fields{},
args{
puncturedSoftBits: []SoftBit{0x3016, 0x3a11, 0x0, 0x0, 0x0, 0x0, 0x360, 0x0, 0x0, 0xce5d, 0xffff, 0x1986, 0xe649, 0xe955, 0xffff, 0xffff, 0x0, 0xffff, 0x0, 0x5088, 0xc9fc, 0xe21e, 0xffff, 0x0, 0xcdda, 0xffff, 0xffff, 0xf91b, 0x0, 0xc65b, 0xffff, 0x3bfe, 0x0, 0x0, 0xffff, 0xc4d1, 0xe28a, 0xe982, 0x0, 0xe260, 0x14b1, 0x225f, 0xe4df, 0x0, 0x3b1e, 0x383a, 0xd007, 0x2f23, 0x0, 0xa6b2, 0xffff, 0xffff, 0x0, 0x2685, 0xe8bf, 0xdeb8, 0xffff, 0x8dc, 0xffff, 0xfe63, 0xffff, 0xd631, 0xffff, 0x0, 0x4bc, 0x30a, 0x0, 0x16ed, 0xffff, 0xffff, 0xffff, 0x14cf, 0x40b7, 0xcef5, 0x0, 0xffff, 0x27a, 0x1644, 0x0, 0xffff, 0xffff, 0xf7fd, 0xffff, 0x0, 0x2b51, 0x1f15, 0xdd3, 0xffff, 0x0, 0x0, 0x0, 0xe022, 0x0, 0x0, 0x0, 0x3db0, 0xffff, 0xffff, 0x136b, 0x0, 0xffff, 0xab0c, 0xffff, 0x1f1b, 0xffff, 0xd272, 0x0, 0xffff, 0xffff, 0x42b4, 0x0, 0xffff, 0xb98d, 0x0, 0xffff, 0xe3e0, 0x3467, 0x297c, 0x0, 0x516, 0x0, 0x0, 0x0, 0x77c, 0x41c, 0x0, 0x0, 0x0, 0x0, 0xa6a, 0xffff, 0xf901, 0x0, 0xf97b, 0x0, 0xcacc, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0xc810, 0xffff, 0xffff, 0xdd17, 0x48e7, 0xffff, 0xbf, 0x3fb, 0xffff, 0x0, 0xfd8a, 0x0, 0xf32b, 0x0, 0x3cdc, 0x1ad, 0x0, 0x0, 0x21c6, 0x0, 0x0, 0x0, 0x43f, 0x0, 0x42f, 0x0, 0x30c4, 0x0, 0x1644, 0x0, 0xba5, 0x0, 0x0, 0x0, 0x1300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf05, 0x0, 0x0, 0x1c37, 0x0, 0x0, 0x1e39, 0x0, 0xe24, 0x15a, 0x1dce, 0x1973, 0x39f8, 0x0, 0x0, 0x0, 0x30ac, 0x2831, 0x0, 0x13f6, 0x0, 0x0, 0x0, 0x0, 0x1be6, 0x0, 0x0, 0x0, 0x24bf, 0x0, 0x1082, 0x143a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e04, 0x0, 0x0, 0x50a, 0x3e21, 0x0, 0x245d, 0x0, 0x0, 0x0, 0x0, 0xb36, 0x1716, 0x1f1c, 0x164c, 0x0, 0x1c36, 0x0, 0xfa9, 0x0, 0x0, 0x0, 0xf76, 0x5ba, 0x0, 0x0, 0x243, 0x0, 0x0, 0x2a4c, 0x157e, 0x2ad1, 0x288f, 0x0, 0x5c1, 0x0, 0x0, 0x0, 0x64f, 0x12b4, 0x2978, 0x0, 0x1c5f, 0x0, 0x0, 0x0, 0x87d, 0x0, 0x2b01, 0x2328, 0x0, 0x0, 0x4b36, 0x0, 0x2f97, 0x0, 0x0, 0x6e8, 0x338d, 0x0, 0x0, 0x0, 0x1803, 0x0, 0x210f, 0x0, 0x1e3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1451, 0x0, 0x24fa, 0xc20, 0x887, 0x0, 0x774, 0x0, 0x11a3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1138, 0x0, 0x22e5, 0x0, 0x3eb, 0x0, 0x0, 0x375, 0x19cf, 0xcae, 0x0, 0x0, 0x0, 0x0, 0x718, 0x0, 0x0, 0xc93, 0x532, 0x4b7a, 0x1818, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1671, 0x1b16, 0x164e, 0x0, 0x0, 0x2994, 0x0, 0x132e, 0xb4f, 0x0, 0x555b, 0x0, 0x28cd, 0xffff, 0xf2b6, 0x0, 0xf076, 0xffff, 0x0, 0xf39f, 0x335, 0xe55f, 0x28e0, 0x0, 0xd19b, 0xffff, 0xea7a, 0x0, 0xffff, 0xffff, 0xe61e},
puncturePattern: PacketPuncturePattern,
},
[]byte{0x0, 0x5, 0x61, 0x64, 0x67, 0x6a, 0x6d, 0x70, 0x74, 0x0, 0x29, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac},
44,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
v := &ViterbiDecoder{
history: tt.fields.history,
prevMetrics: tt.fields.prevMetrics,
currMetrics: tt.fields.currMetrics,
prevMetricsData: tt.fields.prevMetricsData,
currMetricsData: tt.fields.currMetricsData,
}
got, got1 := v.DecodePunctured(tt.args.puncturedSoftBits, tt.args.puncturePattern)
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("ViterbiDecoder.DecodePunctured() got = %v, want %v", got, tt.want)
}
if got1 != tt.want1 {
t.Errorf("ViterbiDecoder.DecodePunctured() got1 = %v, want %v", got1, tt.want1)
}
})
}
}