Compare se duas sequências são iguais

Antes de marcar isso como duplicado por causa de seu título, considere o seguinte programa curto:

static void Main()
{
    var expected = new List<long[]> { new[] { Convert.ToInt64(1), Convert.ToInt64(999999) } };
    var actual = DoSomething();
    if (!actual.SequenceEqual(expected)) throw new Exception();
}

static IEnumerable<long[]> DoSomething()
{
    yield return new[] { Convert.ToInt64(1), Convert.ToInt64(999999) };
}

Eu tenho um método que retorna uma sequência de matrizes do tipo long. Para testá-lo, escrevi um código de teste semelhante àqueleMain.

No entanto, recebo a exceção, mas não sei por quê. A sequência esperada não deve ser comparável à sequência realmente retornada ou eu perdi alguma coisa?

Para mim, parece tanto o método quanto oepxected contém exatamente um único elemento que contém uma matriz do tipo long, não é?

Edição: Então, como faço para conseguir não obter o significado de exceção para comparar os elementos dentro da enumeração para retornar a igualdade?

questionAnswers(3)

yourAnswerToTheQuestion