public void TestRotate() { LuaState L = null; using (L = new LuaState()) { Assert.Equal(0, L.GetTop()); L.PushNumber(1); L.PushString("Test"); L.PushNumber(2); L.PushString("Text"); L.PushNumber(3); L.PushString("Toto"); L.PushNumber(4); Assert.Equal(7, L.GetTop()); L.Rotate(2, 1); Assert.Equal(7, L.GetTop()); Assert.Equal(1, L.ToNumber(1)); Assert.Equal(4, L.ToNumber(2)); Assert.Equal("Test", L.ToString(3)); Assert.Equal(2, L.ToNumber(4)); Assert.Equal("Text", L.ToString(5)); Assert.Equal(3, L.ToNumber(6)); Assert.Equal("Toto", L.ToString(7)); L.Rotate(2, 2); Assert.Equal(7, L.GetTop()); Assert.Equal(1, L.ToNumber(1)); Assert.Equal(3, L.ToNumber(2)); Assert.Equal("Toto", L.ToString(3)); Assert.Equal(4, L.ToNumber(4)); Assert.Equal("Test", L.ToString(5)); Assert.Equal(2, L.ToNumber(6)); Assert.Equal("Text", L.ToString(7)); L.Rotate(2, -3); Assert.Equal(7, L.GetTop()); Assert.Equal(1, L.ToNumber(1)); Assert.Equal("Test", L.ToString(2)); Assert.Equal(2, L.ToNumber(3)); Assert.Equal("Text", L.ToString(4)); Assert.Equal(3, L.ToNumber(5)); Assert.Equal("Toto", L.ToString(6)); Assert.Equal(4, L.ToNumber(7)); } }