EditOneCellCommandTests: Add number parsing tests
This commit is contained in:
parent
5afd93e2d1
commit
67b62c5c16
@ -3,6 +3,7 @@ package com.google.refine.commands.cell;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.AssertJUnit.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
@ -21,7 +22,9 @@ import com.google.refine.model.Project;
|
||||
import com.google.refine.util.TestUtils;
|
||||
|
||||
public class EditOneCellCommandTests extends RefineTest {
|
||||
|
||||
|
||||
private static final String PARSABLE_DOUBLE_NUMBER = "12345.123";
|
||||
private static final String PARSABLE_LONG_NUMBER = "12345";
|
||||
protected Project project = null;
|
||||
protected HttpServletRequest request = null;
|
||||
protected HttpServletResponse response = null;
|
||||
@ -62,6 +65,42 @@ public class EditOneCellCommandTests extends RefineTest {
|
||||
assertEquals("d", project.rows.get(1).cells.get(1).value);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNumberParsing_parsableLong() throws ServletException, IOException {
|
||||
when(request.getParameter("project")).thenReturn(Long.toString(project.id));
|
||||
when(request.getParameter("row")).thenReturn("1");
|
||||
when(request.getParameter("cell")).thenReturn("0");
|
||||
when(request.getParameter("type")).thenReturn("number");
|
||||
when(request.getParameter("value")).thenReturn(PARSABLE_LONG_NUMBER);
|
||||
when(request.getParameter("csrf_token")).thenReturn(Command.csrfFactory.getFreshToken());
|
||||
|
||||
command.doPost(request, response);
|
||||
|
||||
assertEquals("a", project.rows.get(0).cells.get(0).value);
|
||||
assertEquals("b", project.rows.get(0).cells.get(1).value);
|
||||
assertTrue(project.rows.get(1).cells.get(0).value instanceof Long);
|
||||
assertEquals(new Long(12345), project.rows.get(1).cells.get(0).value);
|
||||
assertEquals("d", project.rows.get(1).cells.get(1).value);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNumberParsing_parsableDouble() throws ServletException, IOException {
|
||||
when(request.getParameter("project")).thenReturn(Long.toString(project.id));
|
||||
when(request.getParameter("row")).thenReturn("1");
|
||||
when(request.getParameter("cell")).thenReturn("0");
|
||||
when(request.getParameter("type")).thenReturn("number");
|
||||
when(request.getParameter("value")).thenReturn(PARSABLE_DOUBLE_NUMBER);
|
||||
when(request.getParameter("csrf_token")).thenReturn(Command.csrfFactory.getFreshToken());
|
||||
|
||||
command.doPost(request, response);
|
||||
|
||||
assertEquals("a", project.rows.get(0).cells.get(0).value);
|
||||
assertEquals("b", project.rows.get(0).cells.get(1).value);
|
||||
assertTrue(project.rows.get(1).cells.get(0).value instanceof Double);
|
||||
assertEquals(12345.123, project.rows.get(1).cells.get(0).value);
|
||||
assertEquals("d", project.rows.get(1).cells.get(1).value);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMissingCSRFToken() throws ServletException, IOException {
|
||||
when(request.getParameter("project")).thenReturn(Long.toString(project.id));
|
||||
|
Loading…
Reference in New Issue
Block a user