package org.westmalle.wayland.core;

import org.junit.Test;

public class CursorTest {

    @Test
    public void testHide() throws Exception {
        throw new UnsupportedOperationException();
    }

    @Test
    public void testShow() throws Exception {
        throw new UnsupportedOperationException();
    }

    @Test
    public void testUpdatePosition() throws Exception {
        throw new UnsupportedOperationException();
    }
}
@@ -45,152 +45,1050 @@
 org.
-junit.Test;%0A%0Apublic class CursorTest %7B%0A%0A    @Test%0A    public void testHide() throws Exception %7B%0A        throw new UnsupportedOperationException(
+freedesktop.wayland.server.WlBufferResource;%0Aimport org.freedesktop.wayland.server.WlSurfaceResource;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.mockito.InjectMocks;%0Aimport org.mockito.Mock;%0Aimport org.mockito.runners.MockitoJUnitRunner;%0Aimport org.westmalle.wayland.protocol.WlSurface;%0A%0Aimport java.util.Optional;%0A%0Aimport static com.google.common.truth.Truth.assertThat;%0Aimport static org.mockito.Matchers.eq;%0Aimport static org.mockito.Mockito.verify;%0Aimport static org.mockito.Mockito.when;%0A%0A@RunWith(MockitoJUnitRunner.class)%0Apublic class CursorTest %7B%0A%0A    @Mock%0A    private Surface   surface;%0A    @Mock%0A    private WlSurface wlSurface;%0A%0A    @Mock%0A    private WlSurfaceResource wlSurfaceResource;%0A    @Mock%0A    private Point             hotspot;%0A    @InjectMocks%0A    private Cursor            cursor;%0A%0A    @Before%0A    public void setUp() %7B%0A        when(this.wlSurfaceResource.getImplementation()).thenReturn(this.wlSurface);%0A        when(this.wlSurface.getSurface()).thenReturn(this.surface
 );%0A 
@@ -1127,12 +1127,12 @@
 test
-Show
+Hide
 () t
@@ -1161,172 +1161,925 @@
     
-throw new UnsupportedOperationException();%0A    %7D%0A%0A    @Test%0A    public void testUpdatePosition() throws Exception %7B%0A        throw new UnsupportedOperationException(
+//given%0A        final SurfaceState surfaceState = SurfaceState.builder()%0A                                                      .build();%0A        when(this.surface.getState()).thenReturn(surfaceState);%0A        //when%0A        this.cursor.hide();%0A        //then%0A        verify(this.surface).setState(eq(SurfaceState.builder()%0A                                                     .buffer(Optional.%3CWlBufferResource%3Eempty())%0A                                                     .build()));%0A        assertThat(this.cursor.isHidden()).isTrue();%0A    %7D%0A%0A    @Test%0A    public void testUpdatePosition() throws Exception %7B%0A        //given%0A        final Point point = Point.create(123,%0A                                         456);%0A        //when%0A        this.cursor.updatePosition(point);%0A        //then%0A        verify(this.surface).setPosition(eq(Point.create(123,%0A                                                         456))
 );%0A 

implement cursor unit tests