func TestWhere(t *testing.T) { setup(t) p1 := &Person{Name: "John", Age: 9} p2 := &Person{Name: "Sarah", Age: 27} p3 := &Person{Name: "James", Age: 11} p4 := &Person{Name: "Monika", Age: 12} people := []*Person{p1, p2, p3, p4} for _, p := range people { if err := rebecca.Save(p); err != nil { t.Fatal(err) } } expected := []Person{*p1, *p3} actual := []Person{} if err := rebecca.Where(&actual, "age < $1", 12); err != nil { t.Fatal(err) } if !reflect.DeepEqual(actual, expected) { t.Errorf("Expected %+v to equal %+v", actual, expected) } expected = []Person{*p2, *p4} actual = []Person{} if err := rebecca.Where(&actual, "age > $1", 11); err != nil { t.Fatal(err) } if !reflect.DeepEqual(actual, expected) { t.Errorf("Expected %+v to equal %+v", actual, expected) } }
func ExampleWhere() { type Person struct { // ... } teenagers := []Person{} if err := rebecca.Where(teenagers, "age < $1", 21); err != nil { panic(err) } // At this point teenagers contains all Person records with age < 21. fmt.Print(teenagers) }