package org.molgenis.omx; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.molgenis.observ.ObservableFeature; import org.testng.Assert; import org.testng.annotations.Test; public class EMeasureFeatureWriterTest { @Test(expectedExceptions = IllegalArgumentException.class) public void testEMeasure() throws IOException { new EMeasureFeatureWriter(null).close(); } @Test public void testConvert() throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); EMeasureFeatureWriter featureWriter = new EMeasureFeatureWriter(bos); try { List<ObservableFeature> observableFeatures = new ArrayList<ObservableFeature>(); ObservableFeature observableFeature1 = new ObservableFeature(); observableFeature1.setName("feature1"); observableFeature1.setDescription("this is feature1"); observableFeature1.setDataType("boolean"); ObservableFeature observableFeature2 = new ObservableFeature(); observableFeature2.setName("feature2"); observableFeature2.setDescription("this is feature2"); observableFeature2.setDataType("string"); observableFeatures.add(observableFeature1); observableFeatures.add(observableFeature2); featureWriter.writeFeatures(observableFeatures); } finally { featureWriter.close(); } String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<QualityMeasureDocument classCode=\"CONTAINER\" moodCode=\"DEF\"\n" + " xmlns=\"urn:hl7-org:v3\"\n" + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" + " xsi:schemaLocation=\"urn:hl7-org:v3 multicacheschemas/REPC_MT000100UV01.xsd\" xsi:type=\"REPC_MT000100UV01.Organizer\">\n" + " <subjectOf>\n" + " <measureAttribute>\n" + " <code code=\"feature1\" codeSystem=\"TBD\" displayName=\"this is feature1\"/>\n" + " <value code=\"dunno\" codeSystem=\"TBD\"\n" + " displayName=\"This should be the mappingsname\" xsi:type=\"boolean\"/>\n" + " </measureAttribute>\n" + " </subjectOf>\n" + " <subjectOf>\n" + " <measureAttribute>\n" + " <code code=\"feature2\" codeSystem=\"TBD\" displayName=\"this is feature2\"/>\n" + " <value code=\"dunno\" codeSystem=\"TBD\"\n" + " displayName=\"This should be the mappingsname\" xsi:type=\"string\"/>\n" + " </measureAttribute>\n" + " </subjectOf>\n" + "</QualityMeasureDocument>\n"; Assert.assertEquals(bos.toString("UTF-8"), expected); } }