public void TestRegister() { const string uid = "1.2.3"; var sopClass = new SopClass("Bleeding Edge Image", uid, SopClassCategory.Image); var registered = SopClass.RegisterSopClass(sopClass); Assert.AreEqual(uid, registered.Uid); var retrieved = SopClass.GetSopClass(uid); Assert.AreEqual(uid, retrieved.Uid); var reregistered = new SopClass("Bleeding Edge Image", uid, SopClassCategory.Image); Assert.IsTrue(SopClass.GetRegisteredSopClasses().Contains(reregistered)); reregistered = SopClass.RegisterSopClass(reregistered); Assert.IsTrue(ReferenceEquals(registered, reregistered)); var unregistered = SopClass.UnregisterSopClass(registered); Assert.IsTrue(ReferenceEquals(registered, unregistered)); Assert.IsFalse(SopClass.GetRegisteredSopClasses().Contains(registered)); unregistered = SopClass.UnregisterSopClass(registered); Assert.IsNull(unregistered); }
public void TestCategories() { foreach (var sopClass in SopClass.GetRegisteredSopClasses()) { //In DICOM 2011: // a) all meta SOP class names contain "Meta" // b) all Image Storage SOP class names contain "Image Storage", except "Enhanced US Volume Storage" // c) all Storage SOP class names contain "Storage", excluding "Storage Commitment" if (sopClass.Name.ToLower().Contains("meta")) { Assert.IsTrue(sopClass.Meta); Assert.IsFalse(sopClass.IsStorage); Assert.IsFalse(sopClass.IsImage); } else if (sopClass.Name.ToLower().Contains("image storage") || sopClass.Name == "Enhanced US Volume Storage") { Assert.IsTrue(sopClass.IsImage); Assert.IsTrue(sopClass.IsStorage); Assert.IsFalse(sopClass.Meta); } else if (sopClass.Name.ToLower().Contains("storage") && !sopClass.Name.ToLower().Contains("storage commitment")) { Assert.IsTrue(sopClass.IsStorage); Assert.IsFalse(sopClass.IsImage); Assert.IsFalse(sopClass.Meta); } else { Assert.IsFalse(sopClass.IsImage); Assert.IsFalse(sopClass.IsStorage); Assert.IsFalse(sopClass.Meta); } } }
public void TestGetSopClass() { const string uid = "1.2.3"; var retrieved = SopClass.GetSopClass(uid); Assert.AreEqual(uid, retrieved.Uid); Assert.IsTrue(!SopClass.GetRegisteredSopClasses().Contains(retrieved)); }