MCPcopy
hub / github.com/RoaringBitmap/roaring / TestSerializationBasic4WriteAndReadFile040

Function TestSerializationBasic4WriteAndReadFile040

serialization_test.go:113–158  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

111}
112
113func TestSerializationBasic4WriteAndReadFile040(t *testing.T) {
114 fname := "testdata/all3.classic"
115
116 rb := NewBitmap()
117 for k := uint32(0); k < 100000; k += 1000 {
118 rb.Add(k)
119 }
120 for k := uint32(100000); k < 200000; k++ {
121 rb.Add(3 * k)
122 }
123 for k := uint32(700000); k < 800000; k++ {
124 rb.Add(k)
125 }
126
127 rb.highlowcontainer.runOptimize()
128 fout, err := os.Create(fname)
129 if err != nil {
130 fmt.Fprintf(os.Stderr, "\n\nIMPORTANT: For testing file IO, the roaring library requires disk access.\nWe omit some tests for now.\n\n")
131 return
132 }
133
134 var l int64
135
136 l, err = rb.WriteTo(fout)
137
138 if err != nil {
139 fmt.Fprintf(os.Stderr, "\n\nIMPORTANT: For testing file IO, the roaring library requires disk access.\nWe omit some tests for now.\n\n")
140 return
141 }
142 assert.EqualValues(t, l, rb.GetSerializedSizeInBytes())
143
144 fout.Close()
145 fin, err := os.Open(fname)
146 if err != nil {
147 fmt.Fprintf(os.Stderr, "\n\nIMPORTANT: For testing file IO, the roaring library requires disk access.\nWe omit some tests for now.\n\n")
148 return
149 }
150
151 defer fin.Close()
152
153 newrb := NewBitmap()
154 _, err = newrb.ReadFrom(fin)
155
156 require.NoError(t, err)
157 assert.True(t, rb.Equals(newrb))
158}
159
160func TestSerializationFromJava051(t *testing.T) {
161 fname := "testdata/bitmapwithoutruns.bin"

Callers

nothing calls this directly

Calls 7

AddMethod · 0.95
WriteToMethod · 0.95
ReadFromMethod · 0.95
EqualsMethod · 0.95
NewBitmapFunction · 0.70
runOptimizeMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…