MCPcopy Create free account
hub / github.com/beeker1121/goque / TestPriorityQueueEncodeDecodePointerJSON

Function TestPriorityQueueEncodeDecodePointerJSON

priority_queue_test.go:215–257  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

213}
214
215func TestPriorityQueueEncodeDecodePointerJSON(t *testing.T) {
216 file := fmt.Sprintf("test_db_%d", time.Now().UnixNano())
217 pq, err := OpenPriorityQueue(file, DESC)
218 if err != nil {
219 t.Error(err)
220 }
221 defer pq.Drop()
222
223 type subObject struct {
224 Value *int
225 }
226
227 type object struct {
228 Value int
229 SubObject subObject
230 }
231
232 val := 0
233 obj := object{
234 Value: 0,
235 SubObject: subObject{
236 Value: &val,
237 },
238 }
239
240 if _, err = pq.EnqueueObjectAsJSON(0, obj); err != nil {
241 t.Error(err)
242 }
243
244 item, err := pq.Dequeue()
245 if err != nil {
246 t.Error(err)
247 }
248
249 var itemObj object
250 if err := item.ToObjectFromJSON(&itemObj); err != nil {
251 t.Error(err)
252 }
253
254 if *itemObj.SubObject.Value != 0 {
255 t.Errorf("Expected object subobject value to be '0', got '%v'", *itemObj.SubObject.Value)
256 }
257}
258
259func TestPriorityQueuePeek(t *testing.T) {
260 file := fmt.Sprintf("test_db_%d", time.Now().UnixNano())

Callers

nothing calls this directly

Calls 5

OpenPriorityQueueFunction · 0.85
DropMethod · 0.45
EnqueueObjectAsJSONMethod · 0.45
DequeueMethod · 0.45
ToObjectFromJSONMethod · 0.45

Tested by

no test coverage detected