mod_stat_test.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package mod_stat
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. stat *ModStat
  9. }
  10. func TestModStat(t *testing.T) {
  11. sf := &tester{
  12. t: t,
  13. }
  14. sf.new()
  15. sf.event()
  16. }
  17. // Проверка генерации меток времени
  18. func (sf *tester) event() {
  19. sf.t.Log("event")
  20. time.Sleep(time.Millisecond * 100)
  21. }
  22. // Создание статистики модуля
  23. func (sf *tester) new() {
  24. sf.t.Log("new")
  25. sf.newBad1()
  26. sf.newGood1()
  27. }
  28. func (sf *tester) newGood1() {
  29. sf.t.Log("newGood1")
  30. sf.stat = NewModStat("test")
  31. // Обязательно установить время сразу, для покрытия тестами
  32. sf.stat.timeMinute.Set(1)
  33. sf.stat.Add(23)
  34. if svg := sf.stat.SvgSec(); svg == "" {
  35. sf.t.Fatalf("newGood1(): svg is empty")
  36. }
  37. if svg := sf.stat.SvgMin(); svg == "" {
  38. sf.t.Fatalf("newGood1(): svg is empty")
  39. }
  40. if svg := sf.stat.SvgDay(); svg == "" {
  41. sf.t.Fatalf("newGood1(): svg is empty")
  42. }
  43. }
  44. // Нет имени статистики
  45. func (sf *tester) newBad1() {
  46. sf.t.Log("newBad1")
  47. defer func() {
  48. if _panic := recover(); _panic == nil {
  49. sf.t.Fatalf("newBad1(): panic==nil")
  50. }
  51. }()
  52. _ = NewModStat("")
  53. }