ZoneCodeGenerator: Fix TestReorder not being able to reorder members that came before a specified first entry

This commit is contained in:
Jan 2019-12-07 13:39:30 +01:00
parent 0f349e24c3
commit 3e108c98b4

View File

@ -96,14 +96,25 @@ namespace ZoneCodeGenerator.Parsing.CommandFile.Tests
var nextMember = var nextMember =
memberPool.FirstOrDefault(information => information.Member.Name.Equals(nextMemberName)); memberPool.FirstOrDefault(information => information.Member.Name.Equals(nextMemberName));
if (nextMember != null)
{
sortedMembers.Add(nextMember);
memberPool.Remove(nextMember);
}
else
{
nextMember =
sortedMembers.FirstOrDefault(information => information.Member.Name.Equals(nextMemberName));
if (nextMember == null) if (nextMember == null)
{ {
throw new TestFailedException( throw new TestFailedException(
$"Cannot find member with name '{nextMemberName}' in type '{typeToReorder.Type.FullName}'."); $"Cannot find member with name '{nextMemberName}' in type '{typeToReorder.Type.FullName}'.");
} }
sortedMembers.Remove(nextMember);
sortedMembers.Add(nextMember); sortedMembers.Add(nextMember);
memberPool.Remove(nextMember); }
} }
// Insert members that have not been mentioned at the end. // Insert members that have not been mentioned at the end.