Package hu.sztaki.ilab.longneck

Source Code of hu.sztaki.ilab.longneck.CutTest

package hu.sztaki.ilab.longneck;

import hu.sztaki.ilab.longneck.process.BlockError;
import hu.sztaki.ilab.longneck.process.LongneckProcess;
import hu.sztaki.ilab.longneck.process.VariableSpace;
import hu.sztaki.ilab.longneck.process.block.Cut;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import junit.framework.Assert;
import org.exolab.castor.xml.MarshalException;
import org.exolab.castor.xml.ValidationException;
import org.junit.Test;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

/**
*
* @author Gábor Lukács <lukacsg@sztaki.mta.hu>
*/
public class CutTest  extends AbstractBlockTest {
   
   
    @Test
    public void testUnmarshal() throws SAXException, IOException, MarshalException, ValidationException, Exception {
        Cut cut = new Cut();
       
        List<String> applyTo = new ArrayList<String>(3);
        applyTo.add("a");
        applyTo.add("b");
        applyTo.add("c");
       
        cut.setApplyTo(applyTo);
        cut.setValue(4);
       
        // Load document
        Document doc = documentBuilder.parse(classLoader.getResourceAsStream("unmarshal/cut.xml"));
       
        // Unmarshal document
        LongneckProcess process = (LongneckProcess) unmarshaller.unmarshal(doc);
       
        Assert.assertTrue((process.getBlocks().get(0) instanceof Cut));
       
        Cut testedCut = (Cut) process.getBlocks().get(0);
        Assert.assertEquals(cut.getApplyTo(), testedCut.getApplyTo());
        Assert.assertEquals(cut.getValue(), testedCut.getValue());
    }
   
    @Test
    public void testCut() throws BlockError {
        Cut cut = new Cut();
       
        List<String> applyTo = new ArrayList<String>(3);
        applyTo.add("a");
        applyTo.add("b");
       
        cut.setApplyTo(applyTo);
        cut.setValue(4);
       
        // Prepare record
        RecordImpl r = new RecordImpl();
        r.add(new Field("a", "aaaaaa"));
        r.add(new Field("b", "bbbbb"));
        r.add(new Field("c", "cccc"));
        r.add(new Field("d", "ddd"));
       
      
        // Perform copy
        cut.apply(r, new VariableSpace());
       
        Assert.assertEquals("aaaa", r.get("a").getValue());
        Assert.assertEquals("bbbb", r.get("b").getValue());
        Assert.assertEquals("cccc", r.get("c").getValue());       
        Assert.assertEquals("ddd", r.get("d").getValue());       
    }
   
    @Test
    public void testNonexistingApplyToIdentifier() throws BlockError {
        try {
            Cut cut = new Cut();

            List<String> applyTo = new ArrayList<String>(3);
            applyTo.add("i");

            cut.setApplyTo(applyTo);
            cut.setValue(4);

            // Prepare record
            RecordImpl r = new RecordImpl();
            r.add(new Field("a", "aaaaaa"));
            r.add(new Field("b", "bbbbb"));
            r.add(new Field("c", "cccc"));
            r.add(new Field("d", "ddd"));


            // Perform copy
            cut.apply(r, new VariableSpace());

            Assert.assertEquals("aaaaaa", r.get("a").getValue());
            Assert.assertEquals("bbbbb", r.get("b").getValue());
            Assert.assertEquals("cccc", r.get("c").getValue());
            Assert.assertEquals("ddd", r.get("d").getValue());
        } catch (Exception ex) {
            Assert.fail("Method must not raise exception.");
        }
    }
   
    @Test
    public void testNegativeValue() throws BlockError {
        try {
            Cut cut = new Cut();

            List<String> applyTo = new ArrayList<String>(3);
            applyTo.add("a");

            cut.setApplyTo(applyTo);
            cut.setValue(-56);

            // Prepare record
            RecordImpl r = new RecordImpl();
            r.add(new Field("a", "aaaaaa"));
            r.add(new Field("b", "bbbbb"));
            r.add(new Field("c", "cccc"));
            r.add(new Field("d", "ddd"));


            // Perform copy
            cut.apply(r, new VariableSpace());

            Assert.assertEquals("", r.get("a").getValue());
        } catch (Exception ex) {
            Assert.fail("Method must not raise exception.");
        }
    }
}
TOP

Related Classes of hu.sztaki.ilab.longneck.CutTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.