safe_string_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package safe_string
  2. import (
  3. "testing"
  4. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. ss ISafeString
  9. }
  10. func TestSafeString(t *testing.T) {
  11. sf := &tester{
  12. t: t,
  13. }
  14. sf.new()
  15. sf.set()
  16. sf.reset()
  17. }
  18. // Сбрасывает хранимое значение
  19. func (sf *tester) reset() {
  20. sf.t.Log("reset")
  21. sf.ss.Reset()
  22. if sf.ss.Get() != "" {
  23. sf.t.Fatalf("reset(): ISafeString!=''")
  24. }
  25. sf.ss.Reset()
  26. if sf.ss.Get() != "" {
  27. sf.t.Fatalf("reset(): ISafeString!=''")
  28. }
  29. _ = sf.ss.Byte()
  30. }
  31. // Установка хранимого значения
  32. func (sf *tester) set() {
  33. sf.t.Log("set")
  34. sf.ss.Set("77")
  35. if sf.ss.Get() != "77" {
  36. sf.t.Fatalf("set(): ISafeString!='77'")
  37. }
  38. sf.ss.Set("-56")
  39. if sf.ss.Get() != "-56" {
  40. sf.t.Fatalf("set(): ISafeString!='-56'")
  41. }
  42. }
  43. // Создаёт потокобезопасный булевый признак
  44. func (sf *tester) new() {
  45. sf.t.Log("new")
  46. sf.ss = NewSafeString()
  47. if sf.ss == nil {
  48. sf.t.Fatalf("new(): ISafeString==nil")
  49. }
  50. if sf.ss.Get() != "" {
  51. sf.t.Fatalf("new(): ISafeString!=''")
  52. }
  53. }