Skip to content

Commit 29243ab

Browse files
committed
refactor: long method split up in test renderer
1 parent 2eb8645 commit 29243ab

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

src/bunit.core/Rendering/TestRenderer.cs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,9 @@ protected override Task UpdateDisplayAsync(in RenderBatch renderBatch)
156156
for (var i = 0; i < renderBatch.DisposedComponentIDs.Count; i++)
157157
{
158158
var id = renderBatch.DisposedComponentIDs.Array[i];
159+
159160
logger.LogDebug(new EventId(10, nameof(UpdateDisplayAsync)), $"Component with ID = {id} has been disposed.");
161+
160162
if (renderedComponents.TryGetValue(id, out var rc))
161163
{
162164
renderedComponents.Remove(id);
@@ -168,6 +170,7 @@ protected override Task UpdateDisplayAsync(in RenderBatch renderBatch)
168170
foreach (var (key, rc) in renderedComponents.ToArray())
169171
{
170172
logger.LogDebug(new EventId(11, nameof(UpdateDisplayAsync)), $"Component with ID = {rc.ComponentId} has been rendered.");
173+
171174
LoadRenderTreeFrames(rc.ComponentId, renderEvent.Frames);
172175

173176
rc.OnRender(renderEvent);
@@ -236,7 +239,6 @@ private TResult Render<TResult>(RenderFragment renderFragment, Func<int, TResult
236239
return result;
237240
}
238241

239-
[SuppressMessage("Design", "MA0051:Method is too long", Justification = "TODO: Refactor")]
240242
private IReadOnlyList<IRenderedComponentBase<TComponent>> FindComponents<TComponent>(IRenderedFragmentBase parentComponent, int resultLimit)
241243
where TComponent : IComponent
242244
{
@@ -269,7 +271,7 @@ void FindComponentsInternal(int componentId)
269271
{
270272
if (frame.Component is TComponent component)
271273
{
272-
GetOrCreateRenderedComponent(frame.ComponentId, component);
274+
result.Add(GetOrCreateRenderedComponent(framesCollection, frame.ComponentId, component));
273275

274276
if (result.Count == resultLimit)
275277
return;
@@ -282,24 +284,25 @@ void FindComponentsInternal(int componentId)
282284
}
283285
}
284286
}
287+
}
285288

286-
void GetOrCreateRenderedComponent(int componentId, TComponent component)
287-
{
288-
IRenderedComponentBase<TComponent> rc;
289-
290-
if (renderedComponents.TryGetValue(componentId, out var rf))
291-
{
292-
rc = (IRenderedComponentBase<TComponent>)rf;
293-
}
294-
else
295-
{
296-
LoadRenderTreeFrames(componentId, framesCollection);
297-
rc = activator.CreateRenderedComponent(componentId, component, framesCollection);
298-
renderedComponents.Add(rc.ComponentId, rc);
299-
}
289+
IRenderedComponentBase<TComponent> GetOrCreateRenderedComponent<TComponent>(RenderTreeFrameDictionary framesCollection, int componentId, TComponent component)
290+
where TComponent : IComponent
291+
{
292+
IRenderedComponentBase<TComponent> result;
300293

301-
result.Add(rc);
294+
if (renderedComponents.TryGetValue(componentId, out var renderedComponent))
295+
{
296+
result = (IRenderedComponentBase<TComponent>)renderedComponent;
302297
}
298+
else
299+
{
300+
LoadRenderTreeFrames(componentId, framesCollection);
301+
result = activator.CreateRenderedComponent(componentId, component, framesCollection);
302+
renderedComponents.Add(result.ComponentId, result);
303+
}
304+
305+
return result;
303306
}
304307

305308
/// <summary>

0 commit comments

Comments
 (0)