public void TxQueueIntegrationTest() { var tx = new List <string>(); var queue = new TxQueue <string>((s) => tx.Add(s), 1); var timer = new TestTimer(); queue.Mutex = new TestMutex(); queue.Timer = timer; timer.ElapseImmediately = true; var commandsToSend = new string[] { "tx1", "tx2", "tx3", "tx4" }; Parallel.ForEach(commandsToSend, (c) => queue.Send(c)); tx.Count.Should().Be(4); tx.Should().Contain(commandsToSend); }