1010import cz .muni .fi .cpm .template .deserialization .embrc .transform .cpm .*;
1111import cz .muni .fi .cpm .template .deserialization .embrc .transform .jsonld .EmbrcTransformer ;
1212import cz .muni .fi .cpm .template .deserialization .embrc .transform .jsonld .ProvContextManager ;
13+ import cz .muni .fi .cpm .template .deserialization .embrc .transform .storage .EmbrcProvStorageTransformer ;
1314import cz .muni .fi .cpm .template .util .GraphvizChecker ;
1415import cz .muni .fi .cpm .vanilla .CpmProvFactory ;
1516import org .junit .jupiter .api .MethodOrderer ;
1617import org .junit .jupiter .api .Order ;
1718import org .junit .jupiter .api .TestMethodOrder ;
1819import org .junit .jupiter .params .ParameterizedTest ;
1920import org .junit .jupiter .params .provider .MethodSource ;
21+ import org .junit .jupiter .params .provider .ValueSource ;
2022import org .openprovenance .prov .interop .InteropFramework ;
2123import org .openprovenance .prov .model .Document ;
2224import org .openprovenance .prov .model .ProvFactory ;
2325import org .openprovenance .prov .model .interop .Formats ;
2426
25- import java .io .File ;
26- import java .io .FileInputStream ;
27- import java .io .IOException ;
28- import java .io .InputStream ;
27+ import java .io .*;
2928import java .lang .reflect .InvocationTargetException ;
3029import java .util .stream .Stream ;
3130
3231import static cz .muni .fi .cpm .template .constants .PathConstants .TEST_RESOURCES ;
32+ import static cz .muni .fi .cpm .template .deserialization .embrc .transform .storage .EmbrcProvStorageTransformer .V0_SUFFIX ;
33+ import static cz .muni .fi .cpm .template .deserialization .embrc .transform .storage .EmbrcProvStorageTransformer .V1_SUFFIX ;
3334import static org .junit .jupiter .api .Assertions .assertEquals ;
3435
3536@ TestMethodOrder (MethodOrderer .OrderAnnotation .class )
3637public class CpmEmbrcTest {
37- private static final String EMBRC_FOLDER = "embrc" + File .separator ;
38+ public static final String EMBRC_FOLDER = "embrc" + File .separator ;
3839
3940 private final ProvFactory pF ;
4041 private final ICpmProvFactory cPF ;
@@ -46,27 +47,19 @@ public CpmEmbrcTest() {
4647 cF = new CpmMergedFactory (pF );
4748 }
4849
49- private static Stream <Object []> dataSetProvider () {
50- return Stream .of (
51- new Object []{1 },
52- new Object []{2 },
53- new Object []{3 },
54- new Object []{4 }
55- );
56- }
57-
50+ // 5 in TI for dataset 2, because sender and receiver agents are merged
5851 private static Stream <Object []> documentProvider () {
5952 return Stream .of (
60- new Object []{Dataset1Transformer .class , 1 , 7 , 35 , 2 },
61- new Object []{Dataset2Transformer .class , 2 , 4 , 11 , 2 },
62- new Object []{Dataset3Transformer .class , 3 , 4 , 7 , 2 },
63- new Object []{Dataset4Transformer .class , 4 , 3 , 42 , 2 }
53+ new Object []{Dataset1Transformer .class , 1 , 9 , 35 , 2 },
54+ new Object []{Dataset2Transformer .class , 2 , 5 , 11 , 2 },
55+ new Object []{Dataset3Transformer .class , 3 , 5 , 7 , 2 },
56+ new Object []{Dataset4Transformer .class , 4 , 4 , 42 , 2 }
6457 );
6558 }
6659
6760 @ Order (0 )
6861 @ ParameterizedTest
69- @ MethodSource ( "dataSetProvider" )
62+ @ ValueSource ( ints = { 1 , 2 , 3 , 4 } )
7063 public void transformEmbrcToProvJsonLD (int datasetNum ) throws IOException , JsonLdError {
7164 String datasetFolder = "dataset" + datasetNum + File .separator ;
7265 String inputFile = TEST_RESOURCES + EMBRC_FOLDER + datasetFolder + "Dataset" + datasetNum + "_ProvenanceMetadata.jsonld" ;
@@ -122,4 +115,34 @@ public void toDocument_withEmbrcDataset_serialisesSuccessfully(Class<DatasetTran
122115 throw new RuntimeException (e );
123116 }
124117 }
118+
119+ @ Order (3 )
120+ @ ParameterizedTest
121+ @ ValueSource (ints = {1 , 2 })
122+ public void transformCpmToProvStorageFormatV0 (int datasetNum ) throws IOException {
123+ String datasetFolder = "dataset" + datasetNum + File .separator ;
124+ String filePath = TEST_RESOURCES + EMBRC_FOLDER + datasetFolder + "Dataset" + datasetNum + "_cpm" ;
125+ EmbrcProvStorageTransformer pST = new EmbrcProvStorageTransformer (pF );
126+
127+ try (InputStream inputStream = new FileInputStream (filePath + ".jsonld" )) {
128+ ByteArrayOutputStream outputStreamV0 = pST .transformToV0 (inputStream );
129+ outputStreamV0 .writeTo (new FileOutputStream (filePath + "_storage_v0.json" ));
130+ }
131+ }
132+
133+ @ Order (4 )
134+ @ ParameterizedTest
135+ @ ValueSource (ints = {4 , 3 , 2 , 1 })
136+ public void transformCpmToProvStorageFormatV1 (int datasetNum ) throws IOException {
137+ String datasetFolder = "dataset" + datasetNum + File .separator ;
138+ String filePath = TEST_RESOURCES + EMBRC_FOLDER + datasetFolder + "Dataset" + datasetNum + "_cpm" ;
139+ EmbrcProvStorageTransformer pST = new EmbrcProvStorageTransformer (pF );
140+
141+ try (InputStream inputStream = new FileInputStream (filePath + ".jsonld" )) {
142+ String suffix = datasetNum == 1 || datasetNum == 2 ? V1_SUFFIX : V0_SUFFIX ;
143+ ByteArrayOutputStream outputStreamV1 = pST .transformToV1 (inputStream , suffix );
144+ outputStreamV1 .writeTo (new FileOutputStream (filePath + "_storage" + suffix + ".json" ));
145+
146+ }
147+ }
125148}
0 commit comments