public void Test_get_data_with_an_empty_pile_to_return_null()
        {
            var unconfirmedData = new UnconfirmedDataFifo();

            var result = unconfirmedData.GetAndRemoveData();

            Assert.That(result, Is.Null);
        }
        public void Test_get_data_to_return_the_same_value_as_the_added_one()
        {
            var unconfirmedData = new UnconfirmedDataFifo();
            var data            = "ThisIsData";

            unconfirmedData.AddData(data);
            var result = unconfirmedData.GetAndRemoveData();

            Assert.That(result, Is.EqualTo(data));
        }
        public void Test_get_data_to_respect_the_order_of_insertion()
        {
            var unconfirmedData = new UnconfirmedDataFifo();
            var data1           = "First";
            var data2           = "Second";

            unconfirmedData.AddData(data1);
            unconfirmedData.AddData(data2);

            var result1 = unconfirmedData.GetAndRemoveData();
            var result2 = unconfirmedData.GetAndRemoveData();
            var result3 = unconfirmedData.GetAndRemoveData();

            Assert.That(result1, Is.EqualTo(data1));
            Assert.That(result2, Is.EqualTo(data2));
            Assert.That(result3, Is.Null);
        }