public void GetResourceTest() { Uri resourceUri = new Uri("http://example.com/testResource"); IModelGroup g = Store.CreateModelGroup(Model.Uri, Model2.Uri); Assert.Throws <ResourceNotFoundException>(new TestDelegate(() => g.GetResource(resourceUri))); IResource resource = Model.CreateResource(resourceUri); resource.AddProperty(rdf.type, nco.Contact); resource.Commit(); IResource res = g.GetResource(resourceUri); Assert.IsNotNull(res); Assert.IsTrue(res.IsReadOnly); Assert.AreEqual(resourceUri, res.Uri); Assert.Contains(nco.Contact, res.ListValues(rdf.type).ToList()); resource = Model2.CreateResource(resourceUri); resource.AddProperty(rdf.type, nco.Contact); resource.Commit(); res = g.GetResource(resourceUri); Assert.IsNotNull(res); Assert.AreEqual(1, res.ListValues(rdf.type).Count()); Assert.IsTrue(res.IsReadOnly); Assert.AreEqual(resourceUri, res.Uri); Assert.Contains(nco.Contact, res.ListValues(rdf.type).ToList()); }
public void LazyLoadResourceTest() { IModel model = Model; IModelGroup modelGroup = Store.CreateModelGroup(Model.Uri, Model2.Uri); model.Clear(); Uri testRes1 = new Uri("semio:test:testInstance"); Uri testRes2 = new Uri("semio:test:testInstance2"); MappingTestClass t1 = model.CreateResource <MappingTestClass>(testRes1); MappingTestClass2 t2 = model.CreateResource <MappingTestClass2>(new Uri("semio:test:testInstance2")); t1.uniqueResourceTest = t2; // TODO: Debug messsage, because t2 was not commited t1.Commit(); MappingTestClass p1 = modelGroup.GetResource <MappingTestClass>(testRes1); //Assert.AreEqual(null, p1.uniqueResourceTest); var v = p1.ListValues(TestOntology.uniqueResourceTest); Assert.AreEqual(t2.Uri.OriginalString, (v.First() as IResource).Uri.OriginalString); model.DeleteResource(t1); model.DeleteResource(t2); t1 = model.CreateResource <MappingTestClass>(testRes1); t2 = model.CreateResource <MappingTestClass2>(new Uri("semio:test:testInstance2")); t2.Commit(); t1.uniqueResourceTest = t2; t1.Commit(); var tt1 = modelGroup.GetResource <MappingTestClass>(testRes1); Assert.AreEqual(t2, tt1.uniqueResourceTest); IResource tr1 = modelGroup.GetResource(testRes1); Assert.AreEqual(typeof(MappingTestClass), tr1.GetType()); }