MCPcopy Create free account
hub / github.com/cosdata/cosdata / test_usv_index_node_serialization

Function test_usv_index_node_serialization

src/models/serializer/usv/tests.rs:121–169  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

119
120#[test]
121fn test_usv_index_node_serialization() {
122 let quantization_bits = 6;
123 let mut rng = thread_rng();
124 let (dim_bufman, data_bufmans, cache, cursor, _temp_dir) = setup_test(quantization_bits);
125
126 let data = USVIndexNode::new(0, quantization_bits, FileOffset(0));
127
128 cache
129 .offset_counter
130 .fetch_add(USVIndexNode::get_serialized_size(), Ordering::Relaxed);
131
132 for vector_id in 0..100 {
133 let len = rng.gen_range(10..20);
134 for _ in 0..len {
135 let quotient = rng.gen_range(100..2000);
136 let value = rng.gen_range(0.0..1.0);
137 data.insert(
138 quotient,
139 value,
140 vector_id,
141 &cache,
142 VersionNumber::from(0),
143 1.0,
144 )
145 .unwrap();
146 }
147 }
148
149 let offset = data
150 .serialize(
151 &dim_bufman,
152 &data_bufmans,
153 quantization_bits,
154 &cache.offset_counter,
155 cursor,
156 )
157 .unwrap();
158
159 let deserialized = USVIndexNode::deserialize(
160 &dim_bufman,
161 &data_bufmans,
162 FileOffset(offset),
163 VersionNumber::from(u32::MAX),
164 &cache,
165 )
166 .unwrap();
167
168 assert_eq!(data, deserialized);
169}
170
171#[test]
172fn end_to_end_test() {

Callers

nothing calls this directly

Calls 4

FileOffsetClass · 0.85
setup_testFunction · 0.70
insertMethod · 0.45
serializeMethod · 0.45

Tested by

no test coverage detected