コード例 #1
0
        public void TestSpinLock()
        {
            var sut    = new SpinLock(3);
            var result = sut.IterateAndValueOfNextIndex(1);

            Assert.Equal("01", sut.ToString());
            Assert.Equal(0, result);

            result = sut.IterateAndValueOfNextIndex(2);
            Assert.Equal("021", sut.ToString());
            Assert.Equal(1, result);

            result = sut.IterateAndValueOfNextIndex(3);
            Assert.Equal("0231", sut.ToString());
            Assert.Equal(1, result);
        }