add test code (feature/delete_negative_cache)
diff --git a/goon_test.go b/goon_test.go
index 66e89a2..e5ab871 100644
--- a/goon_test.go
+++ b/goon_test.go
@@ -1079,6 +1079,59 @@
 	}
 }
 
+func TestNegativeCacheClear(t *testing.T) {
+	c, done, err := aetest.NewContext()
+	if err != nil {
+		t.Fatalf("Could not start aetest - %v", err)
+	}
+	defer done()
+	g := FromContext(c)
+
+	hid := &HasId{Name: "one"}
+	var id int64
+
+	puted := make(chan bool)
+	cached := make(chan bool)
+	ended := make(chan bool)
+
+	go func() {
+		err := g.RunInTransaction(func(tg *Goon) error {
+			tg.Put(hid)
+			id = hid.Id
+			puted <- true
+			<-cached
+			return nil
+		}, nil)
+		if err != nil {
+			t.Errorf("Unexpected error on RunInTransaction: %v", err)
+		}
+		ended <- true
+	}()
+
+	// simulate negative cache (yet commit)
+	{
+		<-puted
+		negative := &HasId{Id: id}
+		g.FlushLocalCache()
+		if err := g.Get(negative); err != datastore.ErrNoSuchEntity {
+			t.Errorf("Expected ErrNoSuchEntity, got %v", err)
+		}
+		cached <- true
+	}
+
+	{
+		<-ended
+		want := &HasId{Id: id}
+		g.FlushLocalCache()
+		if err := g.Get(want); err != nil {
+			t.Errorf("Unexpected error on get: %v", err)
+		}
+		if want.Name != hid.Name {
+			t.Errorf("Expected Get Entity got : %v", want)
+		}
+	}
+}
+
 func TestCaches(t *testing.T) {
 	c, done, err := aetest.NewContext()
 	if err != nil {