limit_test.go 555 B

123456789101112131415161718192021222324252627282930
  1. package util
  2. import (
  3. "testing"
  4. )
  5. func TestLimiter_Add(t *testing.T) {
  6. l := NewLimiter(10)
  7. if err := l.Add(5); err != nil {
  8. t.Fatal(err)
  9. }
  10. if err := l.Add(5); err != nil {
  11. t.Fatal(err)
  12. }
  13. if err := l.Add(5); err != ErrLimitReached {
  14. t.Fatalf("expected ErrLimitReached, got %#v", err)
  15. }
  16. }
  17. func TestLimiter_AddSub(t *testing.T) {
  18. l := NewLimiter(10)
  19. l.Add(5)
  20. if l.Value() != 5 {
  21. t.Fatalf("expected value to be %d, got %d", 5, l.Value())
  22. }
  23. l.Sub(2)
  24. if l.Value() != 3 {
  25. t.Fatalf("expected value to be %d, got %d", 3, l.Value())
  26. }
  27. }