Verificando o mapeamento completo de uma coleção [não ordenada] / conjunto de itens em um teste de unidade

Estou usando xUnit.net, AutoFixture e SemanticComparison e quero verificar os resultados de um mapeamento.

No nível de item individual, estou bem coberto.

Dado

Os itens compartilham uma chave de identificaçãoEu quero fazer uma comparação sobre os elementos de valor em ambos os ladosEu não me importo com pedidos (e não quero que minha afirmação falhe sob reordenação)

Como posso verificar se cada item de entrada é mapeado para um e apenas um item de saída em umModo DAMP ainda seco usando tanto componente OOTB quanto possível?

Luminárias:

class Input
{ 
   public string Name, Description;
}

class Output
{ 
   public string Name, Description, IgnoreThisField;
}

Teste de Esqueleto:

[Theory,AutoData]
void MappingWorks( Mapper sut, Input[] inputs)
{
    var outputs = sut.Map( inputs);

    // TODO assert that every input is mapped
    // TODO assert that we have have no extra outputs
}

questionAnswers(2)

yourAnswerToTheQuestion