From 256a81e30899ba5c64bcf2b5ec9bb49d0d7283b1 Mon Sep 17 00:00:00 2001 From: Owen Stephens Date: Sat, 2 Jun 2018 23:08:49 +0100 Subject: [PATCH] Initial MassOperationTests Corrected and expanded tests for ReconstructEdit Improve tests --- .../operations/cell/MassOperationTests.java | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 main/tests/server/src/com/google/refine/tests/operations/cell/MassOperationTests.java diff --git a/main/tests/server/src/com/google/refine/tests/operations/cell/MassOperationTests.java b/main/tests/server/src/com/google/refine/tests/operations/cell/MassOperationTests.java new file mode 100644 index 000000000..81b9fcf3e --- /dev/null +++ b/main/tests/server/src/com/google/refine/tests/operations/cell/MassOperationTests.java @@ -0,0 +1,110 @@ +package com.google.refine.tests.operations.cell; + +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import com.google.refine.operations.cell.MassEditOperation; +import com.google.refine.operations.cell.MassEditOperation.Edit; +import com.google.refine.tests.RefineTest; +import com.google.refine.util.ParsingUtilities; + +public class MassOperationTests extends RefineTest { + + List editList; + String editsString = null; + + @BeforeMethod + public void setUp() { + } + + @AfterMethod + public void tearDown() { + } + + @Test + public void testReconstructEditString() throws Exception { + editsString = "[{\"from\":[\"String\"],\"to\":\"newString\",\"type\":\"text\"}]"; + + editList = MassEditOperation.reconstructEdits(ParsingUtilities.evaluateJsonStringToArray(editsString)); + + Assert.assertEquals(editList.get(0).from.size(), 1); + Assert.assertEquals(editList.get(0).from.get(0), "String"); + Assert.assertEquals(editList.get(0).to,"newString" ); + Assert.assertFalse(editList.get(0).fromBlank); + Assert.assertFalse(editList.get(0).fromError); + } + + @Test + public void testReconstructEditMultiString() throws Exception { + editsString = "[{\"from\":[\"String1\",\"String2\"],\"to\":\"newString\",\"type\":\"text\"}]"; + + editList = MassEditOperation.reconstructEdits(ParsingUtilities.evaluateJsonStringToArray(editsString)); + + Assert.assertEquals(editList.get(0).from.size(), 2); + Assert.assertEquals(editList.get(0).from.get(0), "String1"); + Assert.assertEquals(editList.get(0).from.get(1), "String2"); + Assert.assertEquals(editList.get(0).to,"newString" ); + Assert.assertFalse(editList.get(0).fromBlank); + Assert.assertFalse(editList.get(0).fromError); + } + + @Test + public void testReconstructEditBoolean() throws Exception { + editsString = "[{\"from\":[true],\"to\":\"newString\",\"type\":\"text\"}]"; + + editList = MassEditOperation.reconstructEdits(ParsingUtilities.evaluateJsonStringToArray(editsString)); + + Assert.assertEquals(editList.get(0).from.size(), 1); + Assert.assertEquals(editList.get(0).from.get(0), "true"); + Assert.assertEquals(editList.get(0).to,"newString" ); + Assert.assertFalse(editList.get(0).fromBlank); + Assert.assertFalse(editList.get(0).fromError); + } + + @Test + public void testReconstructEditNumber() throws Exception { + editsString = "[{\"from\":[1],\"to\":\"newString\",\"type\":\"text\"}]"; + + editList = MassEditOperation.reconstructEdits(ParsingUtilities.evaluateJsonStringToArray(editsString)); + + Assert.assertEquals(editList.get(0).from.size(), 1); + Assert.assertEquals(editList.get(0).from.get(0), "1"); + Assert.assertEquals(editList.get(0).to,"newString" ); + Assert.assertFalse(editList.get(0).fromBlank); + Assert.assertFalse(editList.get(0).fromError); + } + + @Test + public void testReconstructEditDate() throws Exception { + editsString = "[{\"from\":[\"2018-10-04T00:00:00Z\"],\"to\":\"newString\",\"type\":\"text\"}]"; + + editList = MassEditOperation.reconstructEdits(ParsingUtilities.evaluateJsonStringToArray(editsString)); + + Assert.assertEquals(editList.get(0).from.size(), 1); + Assert.assertEquals(editList.get(0).from.get(0), "2018-10-04T00:00Z"); + Assert.assertEquals(editList.get(0).to,"newString" ); + Assert.assertFalse(editList.get(0).fromBlank); + Assert.assertFalse(editList.get(0).fromError); + } + + @Test + public void testReconstructEditEmpty() throws Exception { + editsString = "[{\"from\":[\"\"],\"to\":\"newString\",\"type\":\"text\"}]"; + + editList = MassEditOperation.reconstructEdits(ParsingUtilities.evaluateJsonStringToArray(editsString)); + + Assert.assertEquals(editList.get(0).from.size(), 1); + Assert.assertEquals(editList.get(0).from.get(0), ""); + Assert.assertEquals(editList.get(0).to,"newString" ); + Assert.assertTrue(editList.get(0).fromBlank); + Assert.assertFalse(editList.get(0).fromError); + + } + + //Not yet testing for editing a cell containing an OR error + +}