TEST(DataSetCoreTest, EditExternalResources) { DataSet dataset; ExternalResource resource("metatype", "id"); resource.Name("file1"); dataset.ExternalResources().Add(resource); resource.Name("file2").ResourceId("id2"); dataset.ExternalResources().Add(resource); EXPECT_EQ(2, dataset.ExternalResources().Size()); // edit dataset.ExternalResources()[0].Name("some new name"); EXPECT_EQ(string("some new name"), dataset.ExternalResources()[0].Name()); EXPECT_EQ(string("file2"), dataset.ExternalResources()[1].Name()); }
TEST(DataSetCoreTest, RemoveExternalResources) { DataSet dataset; EXPECT_EQ(0, dataset.ExternalResources().Size()); ExternalResource resource1("metatype", "id"); resource1.Name("file1"); ExternalResource resource2("metatype", "id2"); resource2.Name("file2"); dataset.ExternalResources().Add(resource1); dataset.ExternalResources().Add(resource2); EXPECT_EQ(2, dataset.ExternalResources().Size()); // remove dataset.ExternalResources().Remove(resource1); EXPECT_EQ(1, dataset.ExternalResources().Size()); // direct access const ExternalResources& resources = dataset.ExternalResources(); EXPECT_EQ(string("file2"), resources[0].Name()); // iterable size_t i = 0; for (auto r : resources) { if (i == 0) EXPECT_EQ(string("file2"), r.Name()); ++i; } }
TEST(DataSetCoreTest, AddExternalResources) { DataSet dataset; EXPECT_EQ(0, dataset.ExternalResources().Size()); ExternalResource resource1("metatype", "id"); resource1.Name("file1"); ExternalResource resource2("metatype", "id2"); resource2.Name("file2"); dataset.ExternalResources().Add(resource1); dataset.ExternalResources().Add(resource2); EXPECT_EQ(2, dataset.ExternalResources().Size()); // disallow duplicates (checking on ResourceId) ExternalResource duplicateResource("metatype", "id"); dataset.ExternalResources().Add(duplicateResource); EXPECT_EQ(2, dataset.ExternalResources().Size()); // direct access const ExternalResources& resources = dataset.ExternalResources(); EXPECT_EQ(string("file1"), resources[0].Name()); EXPECT_EQ(string("file2"), resources[1].Name()); // iterable size_t i = 0; for (auto r : resources) { if (i == 0) EXPECT_EQ(string("file1"), r.Name()); else EXPECT_EQ(string("file2"), r.Name()); ++i; } }
TEST(DataSetCoreTest, DefaultsOk) { DataSet dataset; EXPECT_EQ(DataSet::GENERIC, dataset.Type()); EXPECT_FALSE(dataset.CreatedAt().empty()); EXPECT_FALSE(dataset.MetaType().empty()); EXPECT_FALSE(dataset.TimeStampedName().empty()); EXPECT_FALSE(dataset.UniqueId().empty()); EXPECT_EQ(0, dataset.TimeStampedName().find("pacbio_dataset_")); EXPECT_TRUE(dataset.Format().empty()); EXPECT_TRUE(dataset.ModifiedAt().empty()); EXPECT_TRUE(dataset.Name().empty()); EXPECT_TRUE(dataset.ResourceId().empty()); EXPECT_TRUE(dataset.Tags().empty()); EXPECT_EQ(0, dataset.ExternalResources().Size()); EXPECT_EQ(0, dataset.Filters().Size()); EXPECT_EQ(0, dataset.SubDataSets().Size()); EXPECT_EQ(string{"3.0.1"}, dataset.Version()); }