Skip to content

Commit e16a6c9

Browse files
committed
test(scm): bind growth planner to writer layout
1 parent 08059b9 commit e16a6c9

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

‎tests/scm_reflow_authoring_tests.cpp‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,30 @@ int main() {
138138
assert(parsed.document.objects[0].meshes[0].vertex_count == 4U);
139139
assert(triangle_count(parsed.document.objects[0].meshes[0]) == 1U);
140140

141+
const auto explicit_plan = plan_append_break_vertex_copy_layout(
142+
parsed.document, 0U, 0U, 3U);
143+
assert(explicit_plan.valid);
144+
assert(explicit_plan.grows());
145+
assert(explicit_plan.source_vertex_count == 4U);
146+
assert(explicit_plan.source_file_size == source.size());
147+
assert(explicit_plan.output_file_size > explicit_plan.source_file_size);
148+
assert(explicit_plan.size_delta() ==
149+
explicit_plan.output_file_size - explicit_plan.source_file_size);
150+
151+
const auto automatic_plan =
152+
find_append_break_vertex_growth_target(parsed.document);
153+
assert(automatic_plan.valid);
154+
assert(automatic_plan.grows());
155+
assert(automatic_plan.object_index == 0U);
156+
assert(automatic_plan.mesh_index == 0U);
157+
assert(automatic_plan.source_vertex_index == 3U);
158+
assert(automatic_plan.source_file_size == explicit_plan.source_file_size);
159+
assert(automatic_plan.output_file_size == explicit_plan.output_file_size);
160+
161+
const auto invalid_plan = plan_append_break_vertex_copy_layout(
162+
parsed.document, 0U, 0U, 4U);
163+
assert(!invalid_plan.valid);
164+
141165
auto document = parsed.document;
142166
const auto edit = append_break_vertex_copy(document, 0U, 0U, 3U);
143167
assert(edit.ok());
@@ -153,6 +177,7 @@ int main() {
153177
const auto rebuilt = Writer::write(document, WriteMode::canonical_rebuild);
154178
assert(rebuilt.ok());
155179
assert(rebuilt.bytes.size() > source.size());
180+
assert(rebuilt.bytes.size() == explicit_plan.output_file_size);
156181
assert(!rebuilt.bit_identical_to_source);
157182

158183
const auto reparsed = Parser::parse(

0 commit comments

Comments
 (0)