@Test
    public void testAssignWsetRemoveIfZero() {
        Document doc = new Document(docMan.getDocumentType("foobar"), new DocumentId("id:ns:foobar::foooo"));
        assertNull(doc.getFieldValue(doc.getField("strwset")));
        WeightedSet<StringFieldValue> strwset = new WeightedSet<>(doc.getDataType().getField("strwset").getDataType());
        strwset.put(new StringFieldValue("hello hello"), 164);
        strwset.put(new StringFieldValue("blahdi blahdi"), 243);
        doc.setFieldValue(doc.getField("strwset"), strwset);
        assertNotNull(doc.getFieldValue(doc.getField("strwset")));
        DocumentUpdate docUp = new DocumentUpdate(docType, new DocumentId("id:ns:foobar::bar"));
        AssignFieldPathUpdate upd = new AssignFieldPathUpdate(doc.getDataType(), "strwset{hello hello}", "", "$value - 164");
        upd.setRemoveIfZero(true);
        docUp.addFieldPathUpdate(upd);
        docUp.applyTo(doc);
        WeightedSet docWset = (WeightedSet) doc.getFieldValue(doc.getField("strwset"));
        assertEquals(1, docWset.size());
        assertEquals(Integer.valueOf(243), docWset.get(new StringFieldValue("blahdi blahdi")));
    }
Tests applying and serializing document updates.

@author Einar M R Rosenvinge
document/src/test/java/com/yahoo/document/DocumentPathUpdateTestCase.java