MCPcopy
hub / github.com/grafana/k6 / TestExecutionSegmentSplit

Function TestExecutionSegmentSplit

lib/execution_segment_test.go:120–176  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

118}
119
120func TestExecutionSegmentSplit(t *testing.T) {
121 t.Parallel()
122
123 var nilEs *ExecutionSegment
124 _, err := nilEs.Split(-1)
125 require.Error(t, err)
126
127 _, err = nilEs.Split(0)
128 require.Error(t, err)
129
130 segments, err := nilEs.Split(1)
131 require.NoError(t, err)
132 require.Len(t, segments, 1)
133 assert.Equal(t, "0:1", segments[0].String())
134
135 segments, err = nilEs.Split(2)
136 require.NoError(t, err)
137 require.Len(t, segments, 2)
138 assert.Equal(t, "0:1/2", segments[0].String())
139 assert.Equal(t, "1/2:1", segments[1].String())
140
141 segments, err = nilEs.Split(3)
142 require.NoError(t, err)
143 require.Len(t, segments, 3)
144 assert.Equal(t, "0:1/3", segments[0].String())
145 assert.Equal(t, "1/3:2/3", segments[1].String())
146 assert.Equal(t, "2/3:1", segments[2].String())
147
148 secondQuarter, err := NewExecutionSegment(big.NewRat(1, 4), big.NewRat(2, 4))
149 require.NoError(t, err)
150
151 segments, err = secondQuarter.Split(1)
152 require.NoError(t, err)
153 require.Len(t, segments, 1)
154 assert.Equal(t, "1/4:1/2", segments[0].String())
155
156 segments, err = secondQuarter.Split(2)
157 require.NoError(t, err)
158 require.Len(t, segments, 2)
159 assert.Equal(t, "1/4:3/8", segments[0].String())
160 assert.Equal(t, "3/8:1/2", segments[1].String())
161
162 segments, err = secondQuarter.Split(3)
163 require.NoError(t, err)
164 require.Len(t, segments, 3)
165 assert.Equal(t, "1/4:1/3", segments[0].String())
166 assert.Equal(t, "1/3:5/12", segments[1].String())
167 assert.Equal(t, "5/12:1/2", segments[2].String())
168
169 segments, err = secondQuarter.Split(4)
170 require.NoError(t, err)
171 require.Len(t, segments, 4)
172 assert.Equal(t, "1/4:5/16", segments[0].String())
173 assert.Equal(t, "5/16:3/8", segments[1].String())
174 assert.Equal(t, "3/8:7/16", segments[2].String())
175 assert.Equal(t, "7/16:1/2", segments[3].String())
176}
177

Callers

nothing calls this directly

Calls 6

SplitMethod · 0.95
NewExecutionSegmentFunction · 0.85
EqualMethod · 0.80
ErrorMethod · 0.65
LenMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…