| 11 | ) |
| 12 | |
| 13 | func TestNew(t *testing.T) { |
| 14 | data := map[string]int{"test1": 1, "test2": 2} |
| 15 | originalRawData, err := json.Marshal(data) |
| 16 | if err != nil { |
| 17 | t.Fatal(err) |
| 18 | } |
| 19 | |
| 20 | s := store.New(data) |
| 21 | s.Set("test3", 3) // add 1 item |
| 22 | s.Remove("test1") // remove 1 item |
| 23 | |
| 24 | // check if data was shallow copied |
| 25 | rawData, _ := json.Marshal(data) |
| 26 | if !bytes.Equal(originalRawData, rawData) { |
| 27 | t.Fatalf("Expected data \n%s, \ngot \n%s", originalRawData, rawData) |
| 28 | } |
| 29 | |
| 30 | if s.Has("test1") { |
| 31 | t.Fatalf("Expected test1 to be deleted, got %v", s.Get("test1")) |
| 32 | } |
| 33 | |
| 34 | if v := s.Get("test2"); v != 2 { |
| 35 | t.Fatalf("Expected test2 to be %v, got %v", 2, v) |
| 36 | } |
| 37 | |
| 38 | if v := s.Get("test3"); v != 3 { |
| 39 | t.Fatalf("Expected test3 to be %v, got %v", 3, v) |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | func TestReset(t *testing.T) { |
| 44 | s := store.New(map[string]int{"test1": 1}) |