(t *testing.T)
| 160 | } |
| 161 | |
| 162 | func TestSampleRingAtFloatHistogram(t *testing.T) { |
| 163 | fh1 := tsdbutil.GenerateTestFloatHistogram(1) |
| 164 | fh2 := tsdbutil.GenerateTestFloatHistogram(2) |
| 165 | h1 := tsdbutil.GenerateTestHistogram(3) |
| 166 | h2 := tsdbutil.GenerateTestHistogram(4) |
| 167 | |
| 168 | // With ValNone as the preferred type, nothing should be initialized. |
| 169 | r := newSampleRing(10, 2, chunkenc.ValNone) |
| 170 | require.Empty(t, r.fBuf) |
| 171 | require.Empty(t, r.hBuf) |
| 172 | require.Empty(t, r.fhBuf) |
| 173 | require.Empty(t, r.iBuf) |
| 174 | |
| 175 | var ( |
| 176 | h *histogram.Histogram |
| 177 | fh *histogram.FloatHistogram |
| 178 | ts int64 |
| 179 | ) |
| 180 | |
| 181 | it := r.iterator() |
| 182 | require.Equal(t, chunkenc.ValNone, it.Next()) |
| 183 | |
| 184 | r.addFH(fhSample{st: 10, t: 11, fh: fh1}) |
| 185 | r.addFH(fhSample{st: 20, t: 21, fh: fh2}) |
| 186 | |
| 187 | it = r.iterator() |
| 188 | |
| 189 | require.Equal(t, chunkenc.ValFloatHistogram, it.Next()) |
| 190 | ts, fh = it.AtFloatHistogram(fh) |
| 191 | require.Equal(t, int64(11), ts) |
| 192 | require.Equal(t, fh1, fh) |
| 193 | require.Equal(t, int64(10), it.AtST()) |
| 194 | require.Equal(t, chunkenc.ValFloatHistogram, it.Next()) |
| 195 | ts, fh = it.AtFloatHistogram(fh) |
| 196 | require.Equal(t, int64(21), ts) |
| 197 | require.Equal(t, fh2, fh) |
| 198 | require.Equal(t, int64(20), it.AtST()) |
| 199 | require.Equal(t, chunkenc.ValNone, it.Next()) |
| 200 | |
| 201 | r.reset() |
| 202 | it = r.iterator() |
| 203 | require.Equal(t, chunkenc.ValNone, it.Next()) |
| 204 | |
| 205 | r.addH(hSample{st: 30, t: 31, h: h1}) |
| 206 | r.addH(hSample{st: 40, t: 41, h: h2}) |
| 207 | |
| 208 | it = r.iterator() |
| 209 | |
| 210 | require.Equal(t, chunkenc.ValHistogram, it.Next()) |
| 211 | ts, h = it.AtHistogram() |
| 212 | require.Equal(t, int64(31), ts) |
| 213 | require.Equal(t, h1, h) |
| 214 | require.Equal(t, int64(30), it.AtST()) |
| 215 | ts, fh = it.AtFloatHistogram(fh) |
| 216 | require.Equal(t, int64(31), ts) |
| 217 | require.Equal(t, h1.ToFloat(nil), fh) |
| 218 | require.Equal(t, int64(30), it.AtST()) |
| 219 | require.Equal(t, chunkenc.ValHistogram, it.Next()) |
nothing calls this directly
no test coverage detected
searching dependent graphs…