mod_stat_test.go 1.0 KB

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