func testNotHas(t *testing.T, d ds.Datastore, k ds.Key) {
	if _, err := d.Get(k); err == nil {
		t.Error("should not have it", d, k)
	}

	if has, err := d.Has(k); err != nil {
		t.Error(err)
	} else if has {
		t.Error("should not have it", d, k)
	}
}
func testHas(t *testing.T, d ds.Datastore, k ds.Key, v interface{}) {
	if v2, err := d.Get(k); err != nil {
		t.Error(err)
	} else if v2 != v {
		t.Error("value incorrect", d, k, v, v2)
	}

	if has, err := d.Has(k); err != nil {
		t.Error(err)
	} else if !has {
		t.Error("should have it", d, k, v)
	}
}