Example #1
0
        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);
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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));
        }