package gmap

import (
	"fmt"
	"testing"
)

func TestMap(t *testing.T) {
	m := NewMap[string, int]()
	m.Store("a", 1)
	m.Store("b", 2)

	for k, v := range m.All() {
		if m.mu.TryLock() {
			t.Fatal("shoud not be locked")
		}

		fmt.Println(k, v)

		if k == "a" {
			if v != 1 {
				t.Fatal("a should be 1")
			}
		} else if k == "b" {
			if v != 2 {
				t.Fatal("b should be 2")
			}
		} else {
			t.Fatal("unknown key")
		}
	}
}
