diff --git a/src/ArcCommander/APIs/StudyAPI.fs b/src/ArcCommander/APIs/StudyAPI.fs
index df64cdb..ba89c8a 100644
--- a/src/ArcCommander/APIs/StudyAPI.fs
+++ b/src/ArcCommander/APIs/StudyAPI.fs
@@ -736,13 +736,13 @@ module StudyAPI =
|> List.toArray
let existsByName name publications =
- OntologyAnnotation.existsByName (AnnotationValue.Text name) (publications |> Array.toList)
+ OntologyAnnotation.existsByName name (publications |> Array.toList)
let tryGetByName name publications =
- OntologyAnnotation.tryGetByName (AnnotationValue.Text name) (publications |> Array.toList)
+ OntologyAnnotation.tryGetByName name (publications |> Array.toList)
let removeByName name publications =
- OntologyAnnotation.removeByName (AnnotationValue.Text name) (publications |> Array.toList)
+ OntologyAnnotation.removeByName name (publications |> Array.toList)
|> List.toArray
/// Updates an existing design in the ARC investigation study with the given design metadata contained in cliArgs.
diff --git a/src/ArcCommander/ArcCommander.fsproj b/src/ArcCommander/ArcCommander.fsproj
index 983b31f..b1c980f 100644
--- a/src/ArcCommander/ArcCommander.fsproj
+++ b/src/ArcCommander/ArcCommander.fsproj
@@ -70,12 +70,13 @@
-
-
-
+
+
+
+
diff --git a/src/ArcCommander/ArcConfiguration.fs b/src/ArcCommander/ArcConfiguration.fs
index 2f53eae..1719d1d 100644
--- a/src/ArcCommander/ArcConfiguration.fs
+++ b/src/ArcCommander/ArcConfiguration.fs
@@ -458,7 +458,7 @@ module ARCExtensions =
type ARC with
member this.Write(arcPath) =
- this.GetWriteContracts()
+ this.GetWriteContracts(false)
|> Array.iter (myWrite arcPath)
static member load(config : ArcConfiguration) =
diff --git a/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj b/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj
index f3c2b76..1c94659 100644
--- a/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj
+++ b/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj
@@ -23,8 +23,7 @@
-
-
+
diff --git a/tests/ArcCommander.Tests/StudyTests.fs b/tests/ArcCommander.Tests/StudyTests.fs
index 16835fd..2b50b02 100644
--- a/tests/ArcCommander.Tests/StudyTests.fs
+++ b/tests/ArcCommander.Tests/StudyTests.fs
@@ -256,11 +256,16 @@ let testStudyContacts =
let investigationFilePath = System.IO.Path.Combine([|GeneralConfiguration.getWorkDirectory config;investigationFileName|])
let studyIdentifier = "BII-S-1"
+ let studyToCopy = System.IO.Path.Combine([|source;"TestFiles";"studies"|])
+ let studyFilePath = System.IO.Path.Combine([|GeneralConfiguration.getWorkDirectory config;"studies"|])
setupArc config
+
//Copy testInvestigation
System.IO.File.Copy(investigationToCopy,investigationFilePath,true)
+ //Copy testStudy
+ directoryCopy studyToCopy studyFilePath true
let arc = ARC.load(config)
diff --git a/tests/ArcCommander.Tests/TestFiles/assays/a_metabolome/isa.assay.xlsx b/tests/ArcCommander.Tests/TestFiles/assays/a_metabolome/isa.assay.xlsx
new file mode 100644
index 0000000..3323bb3
Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/assays/a_metabolome/isa.assay.xlsx differ
diff --git a/tests/ArcCommander.Tests/TestFiles/assays/a_proteome/isa.assay.xlsx b/tests/ArcCommander.Tests/TestFiles/assays/a_proteome/isa.assay.xlsx
new file mode 100644
index 0000000..7c08c90
Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/assays/a_proteome/isa.assay.xlsx differ
diff --git a/tests/ArcCommander.Tests/TestFiles/studies/BII-S-1/isa.study.xlsx b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-1/isa.study.xlsx
new file mode 100644
index 0000000..90c8b5a
Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-1/isa.study.xlsx differ
diff --git a/tests/ArcCommander.Tests/TestFiles/studies/BII-S-2/isa.study.xlsx b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-2/isa.study.xlsx
new file mode 100644
index 0000000..9448dd3
Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-2/isa.study.xlsx differ
diff --git a/tests/ArcCommander.Tests/Utils.fs b/tests/ArcCommander.Tests/Utils.fs
index 3550734..02246fd 100644
--- a/tests/ArcCommander.Tests/Utils.fs
+++ b/tests/ArcCommander.Tests/Utils.fs
@@ -11,6 +11,26 @@ open ArcCommander
open ArgumentProcessing
open Argu
+let rec directoryCopy srcPath dstPath copySubDirs =
+
+ if not <| System.IO.Directory.Exists(srcPath) then
+ let msg = System.String.Format("Source directory does not exist or could not be found: {0}", srcPath)
+ raise (System.IO.DirectoryNotFoundException(msg))
+
+ if not <| System.IO.Directory.Exists(dstPath) then
+ System.IO.Directory.CreateDirectory(dstPath) |> ignore
+
+ let srcDir = new System.IO.DirectoryInfo(srcPath)
+
+ for file in srcDir.GetFiles() do
+ let temppath = System.IO.Path.Combine(dstPath, file.Name)
+ file.CopyTo(temppath, true) |> ignore
+
+ if copySubDirs then
+ for subdir in srcDir.GetDirectories() do
+ let dstSubDir = System.IO.Path.Combine(dstPath, subdir.Name)
+ directoryCopy subdir.FullName dstSubDir copySubDirs
+
type ArcInvestigation with
member this.ContainsStudy(studyIdentifier : string) =