public void Constructor_WithCreatedApplicationInfo_ApplicationInfoTypeIsAsExpected()
        {
            var sopClass = DicomUID.PatientRootQueryRetrieveInformationModelFind;
            var appInfoType = typeof(DicomCFindApplicationInfo);

            var appInfo = DicomServiceApplicationInfo.Create(sopClass, new byte[] { 1 });
            var negotiation = new DicomExtendedNegotiation(sopClass, appInfo);

            Assert.Equal(sopClass, negotiation.SopClassUid);
            Assert.Equal(appInfoType, negotiation.RequestedApplicationInfo.GetType());
        }
        public void Constructor_WithDelegateCreatedApplicationInfo_ApplicationInfoTypeIsAsExpected()
        {
            var sopClass = DicomUID.BasicAnnotationBox;
            var appInfoType = typeof(DicomCFindApplicationInfo);

            DicomServiceApplicationInfo.OnCreateApplicationInfo = (sop, info) =>
            {
                if (sop == sopClass)
                    return Activator.CreateInstance(appInfoType, info) as DicomServiceApplicationInfo;

                return null;
            };

            var appInfo = DicomServiceApplicationInfo.Create(sopClass, new byte[] {1});
            var negotiation = new DicomExtendedNegotiation(sopClass, appInfo);

            Assert.Equal(sopClass, negotiation.SopClassUid);
            Assert.Equal(appInfoType, negotiation.RequestedApplicationInfo.GetType());
            DicomServiceApplicationInfo.OnCreateApplicationInfo = null;
        }