Вы не должны проверять поведение очередей - это детали реализации, которые вы можете изменить, не изменяя поведение метода.Например, вы можете заменить ConcurrentQueue другой структурой данных, возможно, деревом, без необходимости обновления модульных тестов.
То, что вы тестируете, - это то, что этот метод принимает входные данные и сохраняет значение, как вы ожидаете.Поэтому вам потребуется какой-либо способ опроса состояния системы, например
public int GetInt(int id)
. Затем вы проверяете, что метод вставляет, как вы ожидаете, извлекая их с использованием того же идентификатора.
Вы должныпроверьте, что публичный метод возвращает ожидаемые результаты в каждом случае, о котором вы только можете подумать, и оставьте его на усмотрение метода для сохранения значений по своему усмотрению.Поэтому я, вероятно, протестировал бы метод, подобный этому, с разными входами:
[TestCase(1,2,3)] // whatever test cases make sense for you
[TestCase(4,5,6)]
[TestCase(7,8,9)]
[Test]
public void Test_InsertInt_OK( int testId, int testValue, int expectedValue)
{
InsertInt(testId, testValue);
Assert.AreEqual( GetInt(testId), expectedValue )
}