STest.java [test/service_tests/rse/model] Revision:   Date:
package service_tests.rse.model;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
import csip.test.ServiceTest;
import csip.test.ServiceTest2;
import java.io.File;
import java.util.Properties;
import junit.framework.Assert;
import org.codehaus.jettison.json.JSONArray;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;

/**
 *
 * @author od
 */
public class STest {

    @Rule
    public TestName name = new TestName();

    //   Use this one to do a key/value pair matching test on the output. 
    private void runKeyValue() throws Exception {
        String testFolder = new File(getClass().getCanonicalName().replace('.', '/')).getParent();
        Properties myTestProperties = new Properties();
        myTestProperties.setProperty("csip.test.verify", "keyvalue");
        JSONArray r = ServiceTest2.run(myTestProperties, "test/" + testFolder + "/" + name.getMethodName() + ".json");
        org.junit.Assert.assertTrue(r.getJSONObject(0).getInt("successful") == 1);
        org.junit.Assert.assertFalse(r.getJSONObject(0).getJSONArray("tests").getJSONObject(0).getJSONObject("test").getJSONObject("result").has("differ"));
    }
    
    //   Use this one to do a key/value pair matching test on the output. 
    private void runStrict() throws Exception {
        String testFolder = new File(getClass().getCanonicalName().replace('.', '/')).getParent();
        Properties myTestProperties = new Properties();
        myTestProperties.setProperty("csip.test.verify", "strict");
        JSONArray r = ServiceTest2.run(myTestProperties, "test/" + testFolder + "/" + name.getMethodName() + ".json");
        org.junit.Assert.assertTrue(r.getJSONObject(0).getInt("successful") == 1);
        org.junit.Assert.assertFalse(r.getJSONObject(0).getJSONArray("tests").getJSONObject(0).getJSONObject("test").getJSONObject("result").has("differ"));
    }    
    
    private void run() throws Exception {
        String testFolder = new File(getClass().getCanonicalName().replace('.', '/')).getParent();
        JSONArray r = ServiceTest2.run(new Properties(), "test/" + testFolder + "/" + name.getMethodName() + ".json");
        org.junit.Assert.assertTrue(r.getJSONObject(0).getInt("successful") == 1);
    }
    
    
    @Test public void rse02_m_wepot_1_1__test1() throws Exception { runKeyValue();}
    @Test public void rse02_m_wepot_1_1__test2() throws Exception { runKeyValue();}    
    @Test public void rse02_m_wepot_1_1__test3() throws Exception { runKeyValue();}       
    @Test public void rse02_m_wepot_1_1__test4() throws Exception { runKeyValue();}       
    @Test public void rse02_m_wepot_1_1__test5() throws Exception { runKeyValue();}      
    @Test public void rse02_m_wepot_1_1__test6() throws Exception { runKeyValue();}      
    
    /*  DEPRECATED SERVICES
    @Test public void test_centroid_cfactor1() throws Exception { run();}
    @Test public void test_centroid_cfactor2() throws Exception { run();}
    
    @Test public void test_cfactor() throws Exception { run();}
    @Test public void test_cfactor2() throws Exception { run();}
    @Test public void test_cfactor3() throws Exception { run();}
    */
}