public void UseCountryAndAreaCodesTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.UseCountryAndAreaCodes = expected;

            bool actual = target.UseCountryAndAreaCodes;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void IPHeaderCompressionTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.IPHeaderCompression = expected;

            bool actual = target.IPHeaderCompression;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void TerminalAfterDialTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.TerminalAfterDial = expected;

            bool actual = target.TerminalAfterDial;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void SecureLocalFilesTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.SecureLocalFiles = expected;

            bool actual = target.SecureLocalFiles;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void PromoteAlternatesTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.PromoteAlternates = expected;

            bool actual = target.PromoteAlternates;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void UseLogOnCredentialsTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.UseLogOnCredentials = expected;

            bool actual = target.UseLogOnCredentials;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void NetworkLogOnTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.NetworkLogOn = expected;

            bool actual = target.NetworkLogOn;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void RequireDataEncryptionTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.RequireDataEncryption = expected;

            bool actual = target.RequireDataEncryption;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void RequireMSEncryptedPasswordTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.RequireMSEncryptedPassword = expected;

            bool actual = target.RequireMSEncryptedPassword;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void SoftwareCompressionTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.SoftwareCompression = expected;

            bool actual = target.SoftwareCompression;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void ModemLightsTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.ModemLights = expected;

            bool actual = target.ModemLights;

            Assert.AreEqual <bool>(expected, actual);
        }
        public void DisableLcpExtensionsTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();

            target.DisableLcpExtensions = expected;

            bool actual = target.DisableLcpExtensions;

            Assert.AreEqual <bool>(expected, actual);
        }
Beispiel #13
0
        /// <summary>
        /// Sets the extended options on a <see cref="RasEntry"/> for the flags specified.
        /// </summary>
        /// <param name="entry">The entry whose options to set.</param>
        /// <param name="value">The flags of the entry.</param>
        /// <exception cref="System.ArgumentNullException"><paramref name="entry"/> is a null reference (<b>Nothing</b> in Visual Basic).</exception>
        public static void SetRasEntryExtendedOptions(RasEntry entry, NativeMethods.RASEO2 value)
        {
            if (entry == null)
            {
                ThrowHelper.ThrowArgumentNullException("entry");
            }

            RasEntryOptions options = entry.Options;

            options.SecureFileAndPrint      = Utilities.HasFlag(value, NativeMethods.RASEO2.SecureFileAndPrint);
            options.SecureClientForMSNet    = Utilities.HasFlag(value, NativeMethods.RASEO2.SecureClientForMSNet);
            options.DoNotNegotiateMultilink = Utilities.HasFlag(value, NativeMethods.RASEO2.DoNotNegotiateMultilink);
            options.DoNotUseRasCredentials  = Utilities.HasFlag(value, NativeMethods.RASEO2.DoNotUseRasCredentials);
            options.UsePreSharedKey         = Utilities.HasFlag(value, NativeMethods.RASEO2.UsePreSharedKey);
            options.Internet                = Utilities.HasFlag(value, NativeMethods.RASEO2.Internet);
            options.DisableNbtOverIP        = Utilities.HasFlag(value, NativeMethods.RASEO2.DisableNbtOverIP);
            options.UseGlobalDeviceSettings = Utilities.HasFlag(value, NativeMethods.RASEO2.UseGlobalDeviceSettings);
            options.ReconnectIfDropped      = Utilities.HasFlag(value, NativeMethods.RASEO2.ReconnectIfDropped);
            options.SharePhoneNumbers       = Utilities.HasFlag(value, NativeMethods.RASEO2.SharePhoneNumbers);

#if (WIN2K8 || WIN7 || WIN8)
            options.SecureRoutingCompartment    = Utilities.HasFlag(value, NativeMethods.RASEO2.SecureRoutingCompartment);
            options.UseTypicalSettings          = Utilities.HasFlag(value, NativeMethods.RASEO2.UseTypicalSettings);
            options.IPv6RemoteDefaultGateway    = Utilities.HasFlag(value, NativeMethods.RASEO2.IPv6RemoteDefaultGateway);
            options.RegisterIPWithDns           = Utilities.HasFlag(value, NativeMethods.RASEO2.RegisterIPWithDns);
            options.UseDnsSuffixForRegistration = Utilities.HasFlag(value, NativeMethods.RASEO2.UseDnsSuffixForRegistration);
            options.DisableIkeNameEkuCheck      = Utilities.HasFlag(value, NativeMethods.RASEO2.DisableIkeNameEkuCheck);
#endif
#if (WIN7 || WIN8)
            options.DisableClassBasedStaticRoute = Utilities.HasFlag(value, NativeMethods.RASEO2.DisableClassBasedStaticRoute);
            options.DisableMobility            = Utilities.HasFlag(value, NativeMethods.RASEO2.DisableMobility);
            options.RequireMachineCertificates = Utilities.HasFlag(value, NativeMethods.RASEO2.RequireMachineCertificates);
#endif
#if (WIN8)
            options.UsePreSharedKeyForIkeV2Initiator = Utilities.HasFlag(value, NativeMethods.RASEO2.UsePreSharedKeyForIkev2Initiator);
            options.UsePreSharedKeyForIkeV2Responder = Utilities.HasFlag(value, NativeMethods.RASEO2.UsePreSharedKeyForIkev2Responder);
            options.CacheCredentials = Utilities.HasFlag(value, NativeMethods.RASEO2.CacheCredentials);
#endif
        }
Beispiel #14
0
        /// <summary>
        /// Sets the options on a <see cref="RasEntry"/> for the flags specified.
        /// </summary>
        /// <param name="entry">The entry whose options to set.</param>
        /// <param name="value">The flags of the entry.</param>
        public static void SetRasEntryOptions(RasEntry entry, NativeMethods.RASEO value)
        {
            if (entry != null)
            {
                RasEntryOptions options = entry.Options;

                options.UseCountryAndAreaCodes     = Utilities.HasFlag(value, NativeMethods.RASEO.UseCountryAndAreaCodes);
                options.IPHeaderCompression        = Utilities.HasFlag(value, NativeMethods.RASEO.IPHeaderCompression);
                options.RemoteDefaultGateway       = Utilities.HasFlag(value, NativeMethods.RASEO.RemoteDefaultGateway);
                options.DisableLcpExtensions       = Utilities.HasFlag(value, NativeMethods.RASEO.DisableLcpExtensions);
                options.TerminalBeforeDial         = Utilities.HasFlag(value, NativeMethods.RASEO.TerminalBeforeDial);
                options.TerminalAfterDial          = Utilities.HasFlag(value, NativeMethods.RASEO.TerminalAfterDial);
                options.ModemLights                = Utilities.HasFlag(value, NativeMethods.RASEO.ModemLights);
                options.SoftwareCompression        = Utilities.HasFlag(value, NativeMethods.RASEO.SoftwareCompression);
                options.RequireEncryptedPassword   = Utilities.HasFlag(value, NativeMethods.RASEO.RequireEncryptedPassword);
                options.RequireMSEncryptedPassword = Utilities.HasFlag(value, NativeMethods.RASEO.RequireMSEncryptedPassword);
                options.RequireDataEncryption      = Utilities.HasFlag(value, NativeMethods.RASEO.RequireDataEncryption);
                options.NetworkLogOn               = Utilities.HasFlag(value, NativeMethods.RASEO.NetworkLogOn);
                options.UseLogOnCredentials        = Utilities.HasFlag(value, NativeMethods.RASEO.UseLogOnCredentials);
                options.PromoteAlternates          = Utilities.HasFlag(value, NativeMethods.RASEO.PromoteAlternates);
                options.SecureLocalFiles           = Utilities.HasFlag(value, NativeMethods.RASEO.SecureLocalFiles);
                options.RequireEap          = Utilities.HasFlag(value, NativeMethods.RASEO.RequireEap);
                options.RequirePap          = Utilities.HasFlag(value, NativeMethods.RASEO.RequirePap);
                options.RequireSpap         = Utilities.HasFlag(value, NativeMethods.RASEO.RequireSpap);
                options.CustomEncryption    = Utilities.HasFlag(value, NativeMethods.RASEO.Custom);
                options.PreviewPhoneNumber  = Utilities.HasFlag(value, NativeMethods.RASEO.PreviewPhoneNumber);
                options.SharedPhoneNumbers  = Utilities.HasFlag(value, NativeMethods.RASEO.SharedPhoneNumbers);
                options.PreviewUserPassword = Utilities.HasFlag(value, NativeMethods.RASEO.PreviewUserPassword);
                options.PreviewDomain       = Utilities.HasFlag(value, NativeMethods.RASEO.PreviewDomain);
                options.ShowDialingProgress = Utilities.HasFlag(value, NativeMethods.RASEO.ShowDialingProgress);
                options.RequireChap         = Utilities.HasFlag(value, NativeMethods.RASEO.RequireChap);
                options.RequireMSChap       = Utilities.HasFlag(value, NativeMethods.RASEO.RequireMSChap);
                options.RequireMSChap2      = Utilities.HasFlag(value, NativeMethods.RASEO.RequireMSChap2);
                options.RequireWin95MSChap  = Utilities.HasFlag(value, NativeMethods.RASEO.RequireWin95MSChap);
                options.CustomScript        = Utilities.HasFlag(value, NativeMethods.RASEO.CustomScript);
            }
        }
Beispiel #15
0
        public void addVpnConfiguration(string serverdescription, string servername)
        {
            this.AllUsersPhoneBook = new RasPhoneBook();
            this.AllUsersPhoneBook.Open(true);
            string          serverAddress = this.getipaddressbyname(servername);
            RasEntryOptions options       = new RasEntryOptions();

            options.PreviewDomain           = false;
            options.UsePreSharedKey         = true;
            options.ShowDialingProgress     = true;
            options.RemoteDefaultGateway    = true;
            options.DoNotNegotiateMultilink = true;
            options.UseLogOnCredentials     = true;
            //RasDevice deviceByName = RasDevice.GetDeviceByName("(PPTP)", RasDeviceType.Vpn);
            RasDevice deviceByName = RasDevice.GetDeviceByName("(L2TP)", RasDeviceType.Vpn);
            RasEntry  item;

            if (this.AllUsersPhoneBook.Entries.Contains(serverdescription))
            {
                //'entry' must have the PhoneNumber, DeviceType, DeviceName, FramingProtocol, and EntryType properties set as a minimum.
                item             = this.AllUsersPhoneBook.Entries[serverdescription];
                item.PhoneNumber = serverAddress;
                item.Device      = deviceByName;
                item.Options     = options;

                item.UpdateCredentials(RasPreSharedKey.Client, "51sync");
                item.Update();
            }
            else
            {
                item         = RasEntry.CreateVpnEntry(serverdescription, serverAddress, RasVpnStrategy.L2tpFirst, deviceByName);
                item.Options = options;
                this.AllUsersPhoneBook.Entries.Add(item);
                item.UpdateCredentials(RasPreSharedKey.Client, "51sync");
            }
        }
        public void CacheCredentialsTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.CacheCredentials = expected;

            bool actual = target.CacheCredentials;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void RemoteDefaultGatewayTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.RemoteDefaultGateway = expected;

            bool actual = target.RemoteDefaultGateway;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void DisableMobilityTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.DisableMobility = expected;

            bool actual = target.DisableMobility;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void DisableIkeNameEkuCheckTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.DisableIkeNameEkuCheck = expected;

            bool actual = target.DisableIkeNameEkuCheck;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void RegisterIPWithDnsTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.RegisterIPWithDns = expected;

            bool actual = target.RegisterIPWithDns;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void SecureRoutingCompartmentTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.SecureRoutingCompartment = expected;

            bool actual = target.SecureRoutingCompartment;

            Assert.AreEqual<bool>(expected, actual);
        }
Beispiel #22
0
        public void CloneTest()
        {
            var expected = new RasEntryOptions()
            {
                UseCountryAndAreaCodes     = true,
                IPHeaderCompression        = true,
                RemoteDefaultGateway       = true,
                DisableLcpExtensions       = true,
                TerminalBeforeDial         = true,
                TerminalAfterDial          = true,
                ModemLights                = true,
                SoftwareCompression        = true,
                RequireEncryptedPassword   = true,
                RequireMSEncryptedPassword = true,
                RequireDataEncryption      = true,
                NetworkLogOn               = true,
                UseLogOnCredentials        = true,
                PromoteAlternates          = true,
                SecureLocalFiles           = true,
                RequireEap          = true,
                RequirePap          = true,
                RequireSpap         = true,
                CustomEncryption    = true,
                PreviewPhoneNumber  = true,
                SharedPhoneNumbers  = true,
                PreviewUserPassword = true,
                PreviewDomain       = true,
                ShowDialingProgress = true,
                RequireChap         = true,
                RequireMSChap       = true,
                RequireMSChap2      = true,
                RequireWin95MSChap  = true,
                CustomScript        = true,
#if (WINXP || WIN2K8 || WIN7 || WIN8)
                SecureFileAndPrint      = true,
                SecureClientForMSNet    = true,
                DoNotNegotiateMultilink = true,
                DoNotUseRasCredentials  = true,
                UsePreSharedKey         = true,
                Internet                = true,
                DisableNbtOverIP        = true,
                UseGlobalDeviceSettings = true,
                ReconnectIfDropped      = true,
                SharePhoneNumbers       = true,
#endif
#if (WIN2K8 || WIN7 || WIN8)
                SecureRoutingCompartment    = true,
                UseTypicalSettings          = true,
                IPv6RemoteDefaultGateway    = true,
                RegisterIPWithDns           = true,
                UseDnsSuffixForRegistration = true,
                DisableIkeNameEkuCheck      = true,
#endif
#if (WIN7 || WIN8)
                DisableClassBasedStaticRoute = true,
                DisableMobility            = true,
                RequireMachineCertificates = true,
#endif
#if (WIN8)
                UsePreSharedKeyForIkeV2Initiator = true,
                UsePreSharedKeyForIkeV2Responder = true,
                CacheCredentials = true
#endif
            };

            var actual = (RasEntryOptions)expected.Clone();

            Assert.IsNotNull(actual);
            Assert.AreNotSame(expected, actual);

            Assert.AreEqual(expected.UseCountryAndAreaCodes, actual.UseCountryAndAreaCodes);
            Assert.AreEqual(expected.IPHeaderCompression, actual.IPHeaderCompression);
            Assert.AreEqual(expected.RemoteDefaultGateway, actual.RemoteDefaultGateway);
            Assert.AreEqual(expected.DisableLcpExtensions, actual.DisableLcpExtensions);
            Assert.AreEqual(expected.TerminalBeforeDial, actual.TerminalBeforeDial);
            Assert.AreEqual(expected.TerminalAfterDial, actual.TerminalAfterDial);
            Assert.AreEqual(expected.ModemLights, actual.ModemLights);
            Assert.AreEqual(expected.SoftwareCompression, actual.SoftwareCompression);
            Assert.AreEqual(expected.RequireEncryptedPassword, actual.RequireEncryptedPassword);
            Assert.AreEqual(expected.RequireMSEncryptedPassword, actual.RequireMSEncryptedPassword);
            Assert.AreEqual(expected.RequireDataEncryption, actual.RequireDataEncryption);
            Assert.AreEqual(expected.NetworkLogOn, actual.NetworkLogOn);
            Assert.AreEqual(expected.UseLogOnCredentials, actual.UseLogOnCredentials);
            Assert.AreEqual(expected.PromoteAlternates, actual.PromoteAlternates);
            Assert.AreEqual(expected.SecureLocalFiles, actual.SecureLocalFiles);
            Assert.AreEqual(expected.RequireEap, actual.RequireEap);
            Assert.AreEqual(expected.RequirePap, actual.RequirePap);
            Assert.AreEqual(expected.RequireSpap, actual.RequireSpap);
            Assert.AreEqual(expected.CustomEncryption, actual.CustomEncryption);
            Assert.AreEqual(expected.PreviewPhoneNumber, actual.PreviewPhoneNumber);
            Assert.AreEqual(expected.SharedPhoneNumbers, actual.SharedPhoneNumbers);
            Assert.AreEqual(expected.PreviewUserPassword, actual.PreviewUserPassword);
            Assert.AreEqual(expected.PreviewDomain, actual.PreviewDomain);
            Assert.AreEqual(expected.ShowDialingProgress, actual.ShowDialingProgress);
            Assert.AreEqual(expected.RequireChap, actual.RequireChap);
            Assert.AreEqual(expected.RequireMSChap, actual.RequireMSChap);
            Assert.AreEqual(expected.RequireMSChap2, actual.RequireMSChap2);
            Assert.AreEqual(expected.RequireWin95MSChap, actual.RequireWin95MSChap);
            Assert.AreEqual(expected.CustomScript, actual.CustomScript);

#if (WINXP || WIN2K8 || WIN7 || WIN8)
            Assert.AreEqual(expected.SecureFileAndPrint, actual.SecureFileAndPrint);
            Assert.AreEqual(expected.SecureClientForMSNet, actual.SecureClientForMSNet);
            Assert.AreEqual(expected.DoNotNegotiateMultilink, actual.DoNotNegotiateMultilink);
            Assert.AreEqual(expected.DoNotUseRasCredentials, actual.DoNotUseRasCredentials);
            Assert.AreEqual(expected.UsePreSharedKey, actual.UsePreSharedKey);
            Assert.AreEqual(expected.Internet, actual.Internet);
            Assert.AreEqual(expected.DisableNbtOverIP, actual.DisableNbtOverIP);
            Assert.AreEqual(expected.UseGlobalDeviceSettings, actual.UseGlobalDeviceSettings);
            Assert.AreEqual(expected.ReconnectIfDropped, actual.ReconnectIfDropped);
            Assert.AreEqual(expected.SharePhoneNumbers, actual.SharePhoneNumbers);
#endif
#if (WIN2K8 || WIN7 || WIN8)
            Assert.AreEqual(expected.SecureRoutingCompartment, actual.SecureRoutingCompartment);
            Assert.AreEqual(expected.UseTypicalSettings, actual.UseTypicalSettings);
            Assert.AreEqual(expected.IPv6RemoteDefaultGateway, actual.IPv6RemoteDefaultGateway);
            Assert.AreEqual(expected.RegisterIPWithDns, actual.RegisterIPWithDns);
            Assert.AreEqual(expected.UseDnsSuffixForRegistration, actual.UseDnsSuffixForRegistration);
            Assert.AreEqual(expected.DisableIkeNameEkuCheck, actual.DisableIkeNameEkuCheck);
#endif
#if (WIN7 || WIN8)
            Assert.AreEqual(expected.DisableClassBasedStaticRoute, actual.DisableClassBasedStaticRoute);
            Assert.AreEqual(expected.DisableMobility, actual.DisableMobility);
            Assert.AreEqual(expected.RequireMachineCertificates, actual.RequireMachineCertificates);
#endif
#if (WIN8)
            Assert.AreEqual <bool>(expected.UsePreSharedKeyForIkeV2Initiator, actual.UsePreSharedKeyForIkeV2Initiator);
            Assert.AreEqual <bool>(expected.UsePreSharedKeyForIkeV2Responder, actual.UsePreSharedKeyForIkeV2Responder);
            Assert.AreEqual <bool>(expected.CacheCredentials, actual.CacheCredentials);
#endif
        }
        public void CustomScriptTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.CustomScript = expected;

            bool actual = target.CustomScript;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void RequireWin95MSChapTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.RequireWin95MSChap = expected;

            bool actual = target.RequireWin95MSChap;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void ShowDialingProgressTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.ShowDialingProgress = expected;

            bool actual = target.ShowDialingProgress;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void PreviewDomainTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.PreviewDomain = expected;

            bool actual = target.PreviewDomain;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void PreviewUserPasswordTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.PreviewUserPassword = expected;

            bool actual = target.PreviewUserPassword;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void PreviewPhoneNumberTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.PreviewPhoneNumber = expected;

            bool actual = target.PreviewPhoneNumber;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void SecureLocalFilesTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.SecureLocalFiles = expected;

            bool actual = target.SecureLocalFiles;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void SharePhoneNumbersTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.SharePhoneNumbers = expected;

            bool actual = target.SharePhoneNumbers;

            Assert.AreEqual<bool>(expected, actual);
        }
Beispiel #31
0
        /// <summary>
        /// Asserts a <see cref="DotRas.RasEntryOptions"/> object.
        /// </summary>
        /// <param name="expected">The expected value.</param>
        /// <param name="actual">The actual value.</param>
        public static void AssertRasEntryOptions(RasEntryOptions expected, RasEntryOptions actual)
        {
            if ((expected == null && actual != null) || (expected != null && actual == null))
            {
                Assert.Fail();
            }
            else
            {
                Assert.AreEqual(expected.CustomEncryption, actual.CustomEncryption);
                Assert.AreEqual(expected.CustomScript, actual.CustomScript);
                Assert.AreEqual(expected.DisableLcpExtensions, actual.DisableLcpExtensions);
                Assert.AreEqual(expected.IPHeaderCompression, actual.IPHeaderCompression);
                Assert.AreEqual(expected.ModemLights, actual.ModemLights);
                Assert.AreEqual(expected.NetworkLogOn, actual.NetworkLogOn);
                Assert.AreEqual(expected.PreviewDomain, actual.PreviewDomain);
                Assert.AreEqual(expected.PreviewPhoneNumber, actual.PreviewPhoneNumber);
                Assert.AreEqual(expected.PreviewUserPassword, actual.PreviewUserPassword);
                Assert.AreEqual(expected.PromoteAlternates, actual.PromoteAlternates);
                Assert.AreEqual(expected.RemoteDefaultGateway, actual.RemoteDefaultGateway);
                Assert.AreEqual(expected.RequireChap, actual.RequireChap);
                Assert.AreEqual(expected.RequireDataEncryption, actual.RequireDataEncryption);
                Assert.AreEqual(expected.RequireEap, actual.RequireEap);
                Assert.AreEqual(expected.RequireEncryptedPassword, actual.RequireEncryptedPassword);
                Assert.AreEqual(expected.RequireMSChap, actual.RequireMSChap);
                Assert.AreEqual(expected.RequireMSChap2, actual.RequireMSChap2);
                Assert.AreEqual(expected.RequireMSEncryptedPassword, actual.RequireMSEncryptedPassword);
                Assert.AreEqual(expected.RequirePap, actual.RequirePap);
                Assert.AreEqual(expected.RequireSpap, actual.RequireSpap);
                Assert.AreEqual(expected.RequireWin95MSChap, actual.RequireWin95MSChap);
                Assert.AreEqual(expected.SecureLocalFiles, actual.SecureLocalFiles);
                Assert.AreEqual(expected.SharedPhoneNumbers, actual.SharedPhoneNumbers);
                Assert.AreEqual(expected.ShowDialingProgress, actual.ShowDialingProgress);
                Assert.AreEqual(expected.SoftwareCompression, actual.SoftwareCompression);
                Assert.AreEqual(expected.TerminalAfterDial, actual.TerminalAfterDial);
                Assert.AreEqual(expected.TerminalBeforeDial, actual.TerminalBeforeDial);
                Assert.AreEqual(expected.UseLogOnCredentials, actual.UseLogOnCredentials);

#if (WINXP || WIN2K8 || WIN7 || WIN8)
                Assert.AreEqual(expected.SecureFileAndPrint, actual.SecureFileAndPrint);
                Assert.AreEqual(expected.SecureClientForMSNet, actual.SecureClientForMSNet);
                Assert.AreEqual(expected.DoNotNegotiateMultilink, actual.DoNotNegotiateMultilink);
                Assert.AreEqual(expected.DoNotUseRasCredentials, actual.DoNotUseRasCredentials);
                Assert.AreEqual(expected.UsePreSharedKey, actual.UsePreSharedKey);
                Assert.AreEqual(expected.Internet, actual.Internet);
                Assert.AreEqual(expected.DisableNbtOverIP, actual.DisableNbtOverIP);
                Assert.AreEqual(expected.UseGlobalDeviceSettings, actual.UseGlobalDeviceSettings);
                Assert.AreEqual(expected.ReconnectIfDropped, actual.ReconnectIfDropped);
                Assert.AreEqual(expected.SharePhoneNumbers, actual.SharePhoneNumbers);
#endif
#if (WIN2K8 || WIN7 || WIN8)
                Assert.AreEqual(expected.SecureRoutingCompartment, actual.SecureRoutingCompartment);
                Assert.AreEqual(expected.UseTypicalSettings, actual.UseTypicalSettings);
                Assert.AreEqual(expected.IPv6RemoteDefaultGateway, actual.IPv6RemoteDefaultGateway);
                Assert.AreEqual(expected.RegisterIPWithDns, actual.RegisterIPWithDns);
                Assert.AreEqual(expected.UseDnsSuffixForRegistration, actual.UseDnsSuffixForRegistration);
                Assert.AreEqual(expected.DisableIkeNameEkuCheck, actual.DisableIkeNameEkuCheck);
#endif
#if (WIN7 || WIN8)
                Assert.AreEqual(expected.DisableClassBasedStaticRoute, actual.DisableClassBasedStaticRoute);
                Assert.AreEqual(expected.DisableMobility, actual.DisableMobility);
                Assert.AreEqual(expected.RequireMachineCertificates, actual.RequireMachineCertificates);
#endif
            }
        }
        public void UseTypicalSettingsTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.UseTypicalSettings = expected;

            bool actual = target.UseTypicalSettings;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void SecureClientForMSNetTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.SecureClientForMSNet = expected;

            bool actual = target.SecureClientForMSNet;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void UseDnsSuffixForRegistrationTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.UseDnsSuffixForRegistration = expected;

            bool actual = target.UseDnsSuffixForRegistration;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void DoNotNegotiateMultilinkTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.DoNotNegotiateMultilink = expected;

            bool actual = target.DoNotNegotiateMultilink;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void DisableClassBasedStaticRouteTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.DisableClassBasedStaticRoute = expected;

            bool actual = target.DisableClassBasedStaticRoute;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void UsePreSharedKeyTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.UsePreSharedKey = expected;

            bool actual = target.UsePreSharedKey;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void RequireMachineCertificatesTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.RequireMachineCertificates = expected;

            bool actual = target.RequireMachineCertificates;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void InternetTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.Internet = expected;

            bool actual = target.Internet;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void UsePreSharedKeyForIkev2ResponderTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.UsePreSharedKeyForIkeV2Responder = expected;

            bool actual = target.UsePreSharedKeyForIkeV2Responder;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void DisableNbtOverIPTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.DisableNbtOverIP = expected;

            bool actual = target.DisableNbtOverIP;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void CloneTest()
        {
            RasEntryOptions expected = new RasEntryOptions()
            {
                UseCountryAndAreaCodes = true,
                IPHeaderCompression = true,
                RemoteDefaultGateway = true,
                DisableLcpExtensions = true,
                TerminalBeforeDial = true,
                TerminalAfterDial = true,
                ModemLights = true,
                SoftwareCompression = true,
                RequireEncryptedPassword = true,
                RequireMSEncryptedPassword = true,
                RequireDataEncryption = true,
                NetworkLogOn = true,
                UseLogOnCredentials = true,
                PromoteAlternates = true,
                SecureLocalFiles = true,
                RequireEap = true,
                RequirePap = true,
                RequireSpap = true,
                CustomEncryption = true,
                PreviewPhoneNumber = true,
                SharedPhoneNumbers = true,
                PreviewUserPassword = true,
                PreviewDomain = true,
                ShowDialingProgress = true,
                RequireChap = true,
                RequireMSChap = true,
                RequireMSChap2 = true,
                RequireWin95MSChap = true,
                CustomScript = true,
#if (WINXP || WIN2K8 || WIN7 || WIN8)
                SecureFileAndPrint = true,
                SecureClientForMSNet = true,
                DoNotNegotiateMultilink = true,
                DoNotUseRasCredentials = true,
                UsePreSharedKey = true,
                Internet = true,
                DisableNbtOverIP = true,
                UseGlobalDeviceSettings = true,
                ReconnectIfDropped = true,
                SharePhoneNumbers = true,
#endif
#if (WIN2K8 || WIN7 || WIN8)
                SecureRoutingCompartment = true,
                UseTypicalSettings = true,
                IPv6RemoteDefaultGateway = true,
                RegisterIPWithDns = true,
                UseDnsSuffixForRegistration = true,
                DisableIkeNameEkuCheck = true,
#endif
#if (WIN7 || WIN8)
                DisableClassBasedStaticRoute = true,
                DisableMobility = true,
                RequireMachineCertificates = true,
#endif
#if (WIN8)
                UsePreSharedKeyForIkeV2Initiator = true,
                UsePreSharedKeyForIkeV2Responder = true,
                CacheCredentials = true
#endif
            };

            RasEntryOptions actual = (RasEntryOptions)expected.Clone();

            Assert.IsNotNull(actual);
            Assert.AreNotSame(expected, actual);

            Assert.AreEqual<bool>(expected.UseCountryAndAreaCodes, actual.UseCountryAndAreaCodes);
            Assert.AreEqual<bool>(expected.IPHeaderCompression, actual.IPHeaderCompression);
            Assert.AreEqual<bool>(expected.RemoteDefaultGateway, actual.RemoteDefaultGateway);
            Assert.AreEqual<bool>(expected.DisableLcpExtensions, actual.DisableLcpExtensions);
            Assert.AreEqual<bool>(expected.TerminalBeforeDial, actual.TerminalBeforeDial);
            Assert.AreEqual<bool>(expected.TerminalAfterDial, actual.TerminalAfterDial);
            Assert.AreEqual<bool>(expected.ModemLights, actual.ModemLights);
            Assert.AreEqual<bool>(expected.SoftwareCompression, actual.SoftwareCompression);
            Assert.AreEqual<bool>(expected.RequireEncryptedPassword, actual.RequireEncryptedPassword);
            Assert.AreEqual<bool>(expected.RequireMSEncryptedPassword, actual.RequireMSEncryptedPassword);
            Assert.AreEqual<bool>(expected.RequireDataEncryption, actual.RequireDataEncryption);
            Assert.AreEqual<bool>(expected.NetworkLogOn, actual.NetworkLogOn);
            Assert.AreEqual<bool>(expected.UseLogOnCredentials, actual.UseLogOnCredentials);
            Assert.AreEqual<bool>(expected.PromoteAlternates, actual.PromoteAlternates);
            Assert.AreEqual<bool>(expected.SecureLocalFiles, actual.SecureLocalFiles);
            Assert.AreEqual<bool>(expected.RequireEap, actual.RequireEap);
            Assert.AreEqual<bool>(expected.RequirePap, actual.RequirePap);
            Assert.AreEqual<bool>(expected.RequireSpap, actual.RequireSpap);
            Assert.AreEqual<bool>(expected.CustomEncryption, actual.CustomEncryption);
            Assert.AreEqual<bool>(expected.PreviewPhoneNumber, actual.PreviewPhoneNumber);
            Assert.AreEqual<bool>(expected.SharedPhoneNumbers, actual.SharedPhoneNumbers);
            Assert.AreEqual<bool>(expected.PreviewUserPassword, actual.PreviewUserPassword);
            Assert.AreEqual<bool>(expected.PreviewDomain, actual.PreviewDomain);
            Assert.AreEqual<bool>(expected.ShowDialingProgress, actual.ShowDialingProgress);
            Assert.AreEqual<bool>(expected.RequireChap, actual.RequireChap);
            Assert.AreEqual<bool>(expected.RequireMSChap, actual.RequireMSChap);
            Assert.AreEqual<bool>(expected.RequireMSChap2, actual.RequireMSChap2);
            Assert.AreEqual<bool>(expected.RequireWin95MSChap, actual.RequireWin95MSChap);
            Assert.AreEqual<bool>(expected.CustomScript, actual.CustomScript);

#if (WINXP || WIN2K8 || WIN7 || WIN8)
            Assert.AreEqual<bool>(expected.SecureFileAndPrint, actual.SecureFileAndPrint);
            Assert.AreEqual<bool>(expected.SecureClientForMSNet, actual.SecureClientForMSNet);
            Assert.AreEqual<bool>(expected.DoNotNegotiateMultilink, actual.DoNotNegotiateMultilink);
            Assert.AreEqual<bool>(expected.DoNotUseRasCredentials, actual.DoNotUseRasCredentials);
            Assert.AreEqual<bool>(expected.UsePreSharedKey, actual.UsePreSharedKey);
            Assert.AreEqual<bool>(expected.Internet, actual.Internet);
            Assert.AreEqual<bool>(expected.DisableNbtOverIP, actual.DisableNbtOverIP);
            Assert.AreEqual<bool>(expected.UseGlobalDeviceSettings, actual.UseGlobalDeviceSettings);
            Assert.AreEqual<bool>(expected.ReconnectIfDropped, actual.ReconnectIfDropped);
            Assert.AreEqual<bool>(expected.SharePhoneNumbers, actual.SharePhoneNumbers);
#endif
#if (WIN2K8 || WIN7 || WIN8)
            Assert.AreEqual<bool>(expected.SecureRoutingCompartment, actual.SecureRoutingCompartment);
            Assert.AreEqual<bool>(expected.UseTypicalSettings, actual.UseTypicalSettings);
            Assert.AreEqual<bool>(expected.IPv6RemoteDefaultGateway, actual.IPv6RemoteDefaultGateway);
            Assert.AreEqual<bool>(expected.RegisterIPWithDns, actual.RegisterIPWithDns);
            Assert.AreEqual<bool>(expected.UseDnsSuffixForRegistration, actual.UseDnsSuffixForRegistration);
            Assert.AreEqual<bool>(expected.DisableIkeNameEkuCheck, actual.DisableIkeNameEkuCheck);
#endif
#if (WIN7 || WIN8)
            Assert.AreEqual<bool>(expected.DisableClassBasedStaticRoute, actual.DisableClassBasedStaticRoute);
            Assert.AreEqual<bool>(expected.DisableMobility, actual.DisableMobility);
            Assert.AreEqual<bool>(expected.RequireMachineCertificates, actual.RequireMachineCertificates);
#endif
#if (WIN8)
            Assert.AreEqual<bool>(expected.UsePreSharedKeyForIkeV2Initiator, actual.UsePreSharedKeyForIkeV2Initiator);
            Assert.AreEqual<bool>(expected.UsePreSharedKeyForIkeV2Responder, actual.UsePreSharedKeyForIkeV2Responder);
            Assert.AreEqual<bool>(expected.CacheCredentials, actual.CacheCredentials);
#endif
        }
        public void ReconnectIfDroppedTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.ReconnectIfDropped = expected;

            bool actual = target.ReconnectIfDropped;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void SecureFileAndPrintTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.SecureFileAndPrint = expected;

            bool actual = target.SecureFileAndPrint;

            Assert.AreEqual<bool>(expected, actual);
        }
        public void PromoteAlternatesTest()
        {
            bool expected = true;

            RasEntryOptions target = new RasEntryOptions();
            target.PromoteAlternates = expected;

            bool actual = target.PromoteAlternates;

            Assert.AreEqual<bool>(expected, actual);
        }