private void UpdateAssert(CountMinSketchState state, string value, string expected) { var bytes = Encoding.UTF8.GetBytes(value); state.Add(bytes, 1); var topkValues = state.TopKValues; var topkList = new List <Pair <long, object> >(); foreach (var topkValue in topkValues) { var array = topkValue.Data; var frequency = state.Frequency(array); var text = Encoding.UTF8.GetString(array); topkList.Add(new Pair <long, object>(frequency, text)); } AssertList(expected, topkList); }
public CountMinSketchTopK[] GetFromBytes() { var bytes = _state.TopKValues; if (bytes.IsEmpty()) { return(new CountMinSketchTopK[0]); } var arr = new CountMinSketchTopK[bytes.Count]; var index = 0; foreach (var buf in bytes) { long?frequency = _state.Frequency(buf.Data); _fromBytes.Bytes = buf.Data; var value = _agent.FromBytes(_fromBytes); if (frequency == null) { continue; } arr[index++] = new CountMinSketchTopK(frequency.Value, value); } return(arr); }