null_test.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. // SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
  2. // SPDX-License-Identifier: MIT
  3. package null
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestNewBool(t *testing.T) {
  9. value := bool(true)
  10. nullable := NewBool(value)
  11. assert.Equal(t,
  12. true,
  13. nullable.Valid,
  14. "valid: Bool",
  15. )
  16. assert.Equal(t,
  17. value,
  18. nullable.Bool,
  19. "value: Bool",
  20. )
  21. }
  22. func TestNewByte(t *testing.T) {
  23. value := byte('a')
  24. nullable := NewByte(value)
  25. assert.Equal(t,
  26. true,
  27. nullable.Valid,
  28. "valid: Byte",
  29. )
  30. assert.Equal(t,
  31. value,
  32. nullable.Byte,
  33. "value: Byte",
  34. )
  35. }
  36. func TestNewComplex128(t *testing.T) {
  37. value := complex128(-5 + 12i)
  38. nullable := NewComplex128(value)
  39. assert.Equal(t,
  40. true,
  41. nullable.Valid,
  42. "valid: Complex128",
  43. )
  44. assert.Equal(t,
  45. value,
  46. nullable.Complex128,
  47. "value: Complex128",
  48. )
  49. }
  50. func TestNewComplex64(t *testing.T) {
  51. value := complex64(-5 + 12i)
  52. nullable := NewComplex64(value)
  53. assert.Equal(t,
  54. true,
  55. nullable.Valid,
  56. "valid: Complex64",
  57. )
  58. assert.Equal(t,
  59. value,
  60. nullable.Complex64,
  61. "value: Complex64",
  62. )
  63. }
  64. func TestNewFloat32(t *testing.T) {
  65. value := float32(0.5)
  66. nullable := NewFloat32(value)
  67. assert.Equal(t,
  68. true,
  69. nullable.Valid,
  70. "valid: Float32",
  71. )
  72. assert.Equal(t,
  73. value,
  74. nullable.Float32,
  75. "value: Float32",
  76. )
  77. }
  78. func TestNewFloat64(t *testing.T) {
  79. value := float64(0.5)
  80. nullable := NewFloat64(value)
  81. assert.Equal(t,
  82. true,
  83. nullable.Valid,
  84. "valid: Float64",
  85. )
  86. assert.Equal(t,
  87. value,
  88. nullable.Float64,
  89. "value: Float64",
  90. )
  91. }
  92. func TestNewInt(t *testing.T) {
  93. value := int(1)
  94. nullable := NewInt(value)
  95. assert.Equal(t,
  96. true,
  97. nullable.Valid,
  98. "valid: Int",
  99. )
  100. assert.Equal(t,
  101. value,
  102. nullable.Int,
  103. "value: Int",
  104. )
  105. }
  106. func TestNewInt16(t *testing.T) {
  107. value := int16(1)
  108. nullable := NewInt16(value)
  109. assert.Equal(t,
  110. true,
  111. nullable.Valid,
  112. "valid: Int16",
  113. )
  114. assert.Equal(t,
  115. value,
  116. nullable.Int16,
  117. "value: Int16",
  118. )
  119. }
  120. func TestNewInt32(t *testing.T) {
  121. value := int32(1)
  122. nullable := NewInt32(value)
  123. assert.Equal(t,
  124. true,
  125. nullable.Valid,
  126. "valid: Int32",
  127. )
  128. assert.Equal(t,
  129. value,
  130. nullable.Int32,
  131. "value: Int32",
  132. )
  133. }
  134. func TestNewInt64(t *testing.T) {
  135. value := int64(1)
  136. nullable := NewInt64(value)
  137. assert.Equal(t,
  138. true,
  139. nullable.Valid,
  140. "valid: Int64",
  141. )
  142. assert.Equal(t,
  143. value,
  144. nullable.Int64,
  145. "value: Int64",
  146. )
  147. }
  148. func TestNewInt8(t *testing.T) {
  149. value := int8(1)
  150. nullable := NewInt8(value)
  151. assert.Equal(t,
  152. true,
  153. nullable.Valid,
  154. "valid: Int8",
  155. )
  156. assert.Equal(t,
  157. value,
  158. nullable.Int8,
  159. "value: Int8",
  160. )
  161. }
  162. func TestNewRune(t *testing.T) {
  163. value := rune('p')
  164. nullable := NewRune(value)
  165. assert.Equal(t,
  166. true,
  167. nullable.Valid,
  168. "valid: Rune",
  169. )
  170. assert.Equal(t,
  171. value,
  172. nullable.Rune,
  173. "value: Rune",
  174. )
  175. }
  176. func TestNewString(t *testing.T) {
  177. value := string("pion")
  178. nullable := NewString(value)
  179. assert.Equal(t,
  180. true,
  181. nullable.Valid,
  182. "valid: String",
  183. )
  184. assert.Equal(t,
  185. value,
  186. nullable.String,
  187. "value: String",
  188. )
  189. }
  190. func TestNewUint(t *testing.T) {
  191. value := uint(1)
  192. nullable := NewUint(value)
  193. assert.Equal(t,
  194. true,
  195. nullable.Valid,
  196. "valid: Uint",
  197. )
  198. assert.Equal(t,
  199. value,
  200. nullable.Uint,
  201. "value: Uint",
  202. )
  203. }
  204. func TestNewUint16(t *testing.T) {
  205. value := uint16(1)
  206. nullable := NewUint16(value)
  207. assert.Equal(t,
  208. true,
  209. nullable.Valid,
  210. "valid: Uint16",
  211. )
  212. assert.Equal(t,
  213. value,
  214. nullable.Uint16,
  215. "value: Uint16",
  216. )
  217. }
  218. func TestNewUint32(t *testing.T) {
  219. value := uint32(1)
  220. nullable := NewUint32(value)
  221. assert.Equal(t,
  222. true,
  223. nullable.Valid,
  224. "valid: Uint32",
  225. )
  226. assert.Equal(t,
  227. value,
  228. nullable.Uint32,
  229. "value: Uint32",
  230. )
  231. }
  232. func TestNewUint64(t *testing.T) {
  233. value := uint64(1)
  234. nullable := NewUint64(value)
  235. assert.Equal(t,
  236. true,
  237. nullable.Valid,
  238. "valid: Uint64",
  239. )
  240. assert.Equal(t,
  241. value,
  242. nullable.Uint64,
  243. "value: Uint64",
  244. )
  245. }
  246. func TestNewUint8(t *testing.T) {
  247. value := uint8(1)
  248. nullable := NewUint8(value)
  249. assert.Equal(t,
  250. true,
  251. nullable.Valid,
  252. "valid: Uint8",
  253. )
  254. assert.Equal(t,
  255. value,
  256. nullable.Uint8,
  257. "value: Uint8",
  258. )
  259. }