public override bool Equals(Object otherObj)
        {
            ConfigurationEventTypeXMLDOM other = otherObj as ConfigurationEventTypeXMLDOM;

            if (other == null)
            {
                return(false);
            }

            if (other.RootElementName != RootElementName)
            {
                return(false);
            }

            if (((other.RootElementNamespace == null) && (RootElementNamespace != null)) ||
                ((other.RootElementNamespace != null) && (RootElementNamespace == null)))
            {
                return(false);
            }
            return(RootElementNamespace == other.RootElementNamespace);
        }
        public void TestEngineDefaults()
        {
            _config = new Configuration();

            Assert.IsTrue(_config.EngineDefaults.ThreadingConfig.IsInsertIntoDispatchPreserveOrder);
            Assert.AreEqual(100, _config.EngineDefaults.ThreadingConfig.InsertIntoDispatchTimeout);
            Assert.IsTrue(_config.EngineDefaults.ThreadingConfig.IsListenerDispatchPreserveOrder);
            Assert.AreEqual(1000, _config.EngineDefaults.ThreadingConfig.ListenerDispatchTimeout);
            Assert.IsTrue(_config.EngineDefaults.ThreadingConfig.IsInternalTimerEnabled);
            Assert.AreEqual(100, _config.EngineDefaults.ThreadingConfig.InternalTimerMsecResolution);
            Assert.AreEqual(ConfigurationEngineDefaults.Threading.Locking.SPIN, _config.EngineDefaults.ThreadingConfig.InsertIntoDispatchLocking);
            Assert.AreEqual(ConfigurationEngineDefaults.Threading.Locking.SPIN, _config.EngineDefaults.ThreadingConfig.ListenerDispatchLocking);
            Assert.IsFalse(_config.EngineDefaults.ThreadingConfig.IsThreadPoolInbound);
            Assert.IsFalse(_config.EngineDefaults.ThreadingConfig.IsThreadPoolOutbound);
            Assert.IsFalse(_config.EngineDefaults.ThreadingConfig.IsThreadPoolRouteExec);
            Assert.IsFalse(_config.EngineDefaults.ThreadingConfig.IsThreadPoolTimerExec);
            Assert.AreEqual(2, _config.EngineDefaults.ThreadingConfig.ThreadPoolInboundNumThreads);
            Assert.AreEqual(2, _config.EngineDefaults.ThreadingConfig.ThreadPoolOutboundNumThreads);
            Assert.AreEqual(2, _config.EngineDefaults.ThreadingConfig.ThreadPoolRouteExecNumThreads);
            Assert.AreEqual(2, _config.EngineDefaults.ThreadingConfig.ThreadPoolTimerExecNumThreads);
            Assert.AreEqual(null, _config.EngineDefaults.ThreadingConfig.ThreadPoolInboundCapacity);
            Assert.AreEqual(null, _config.EngineDefaults.ThreadingConfig.ThreadPoolOutboundCapacity);
            Assert.AreEqual(null, _config.EngineDefaults.ThreadingConfig.ThreadPoolRouteExecCapacity);
            Assert.AreEqual(null, _config.EngineDefaults.ThreadingConfig.ThreadPoolTimerExecCapacity);
            Assert.IsFalse(_config.EngineDefaults.ThreadingConfig.IsEngineFairlock);
            //Assert.IsFalse(_config.EngineDefaults.MetricsReportingConfig.IsJmxEngineMetrics);
            Assert.IsTrue(_config.EngineDefaults.ThreadingConfig.IsNamedWindowConsumerDispatchPreserveOrder);
            Assert.AreEqual(long.MaxValue, _config.EngineDefaults.ThreadingConfig.NamedWindowConsumerDispatchTimeout);
            Assert.AreEqual(ConfigurationEngineDefaults.Threading.Locking.SPIN, _config.EngineDefaults.ThreadingConfig.NamedWindowConsumerDispatchLocking);

            Assert.AreEqual(PropertyResolutionStyle.CASE_SENSITIVE, _config.EngineDefaults.EventMetaConfig.ClassPropertyResolutionStyle);
            Assert.AreEqual(AccessorStyleEnum.NATIVE, _config.EngineDefaults.EventMetaConfig.DefaultAccessorStyle);
            Assert.AreEqual(EventRepresentation.MAP, _config.EngineDefaults.EventMetaConfig.DefaultEventRepresentation);
            Assert.AreEqual(5, _config.EngineDefaults.EventMetaConfig.AnonymousCacheSize);

            Assert.IsTrue(_config.EngineDefaults.ViewResourcesConfig.IsShareViews);
            Assert.IsFalse(_config.EngineDefaults.ViewResourcesConfig.IsAllowMultipleExpiryPolicies);
            Assert.IsFalse(_config.EngineDefaults.ViewResourcesConfig.IsIterableUnbound);
            Assert.IsFalse(_config.EngineDefaults.LoggingConfig.IsEnableExecutionDebug);
            Assert.IsTrue(_config.EngineDefaults.LoggingConfig.IsEnableTimerDebug);
            Assert.IsFalse(_config.EngineDefaults.LoggingConfig.IsEnableQueryPlan);
            Assert.IsFalse(_config.EngineDefaults.LoggingConfig.IsEnableADO);
            Assert.IsNull(_config.EngineDefaults.LoggingConfig.AuditPattern);
            Assert.AreEqual(15000, _config.EngineDefaults.VariablesConfig.MsecVersionRelease);
            Assert.AreEqual(null, _config.EngineDefaults.PatternsConfig.MaxSubexpressions);
            Assert.AreEqual(true, _config.EngineDefaults.PatternsConfig.IsMaxSubexpressionPreventStart);
            Assert.AreEqual(null, _config.EngineDefaults.MatchRecognizeConfig.MaxStates);
            Assert.AreEqual(true, _config.EngineDefaults.MatchRecognizeConfig.IsMaxStatesPreventStart);
            Assert.AreEqual(ConfigurationEngineDefaults.TimeSourceType.MILLI, _config.EngineDefaults.TimeSourceConfig.TimeSourceType);
            Assert.IsFalse(_config.EngineDefaults.ExecutionConfig.IsPrioritized);
            Assert.IsFalse(_config.EngineDefaults.ExecutionConfig.IsDisableLocking);
            Assert.IsFalse(_config.EngineDefaults.ExecutionConfig.IsAllowIsolatedService);
            Assert.AreEqual(ConfigurationEngineDefaults.ThreadingProfile.NORMAL, _config.EngineDefaults.ExecutionConfig.ThreadingProfile);
            Assert.AreEqual(ConfigurationEngineDefaults.FilterServiceProfile.READMOSTLY, _config.EngineDefaults.ExecutionConfig.FilterServiceProfile);
            Assert.AreEqual(16, _config.EngineDefaults.ExecutionConfig.FilterServiceMaxFilterWidth);

            Assert.AreEqual(StreamSelector.ISTREAM_ONLY, _config.EngineDefaults.StreamSelectionConfig.DefaultStreamSelector);
            Assert.IsFalse(_config.EngineDefaults.LanguageConfig.IsSortUsingCollator);
            Assert.IsFalse(_config.EngineDefaults.ExpressionConfig.IsIntegerDivision);
            Assert.IsFalse(_config.EngineDefaults.ExpressionConfig.IsDivisionByZeroReturnsNull);
            Assert.IsTrue(_config.EngineDefaults.ExpressionConfig.IsSelfSubselectPreeval);
            Assert.IsTrue(_config.EngineDefaults.ExpressionConfig.IsUdfCache);
            Assert.IsTrue(_config.EngineDefaults.ExpressionConfig.IsExtendedAggregation);
            Assert.IsFalse(_config.EngineDefaults.ExpressionConfig.IsDuckTyping);
            Assert.IsNull(_config.EngineDefaults.ExpressionConfig.MathContext);
            Assert.AreEqual(TimeZoneInfo.Local, _config.EngineDefaults.ExpressionConfig.TimeZone);
            Assert.IsNull(_config.EngineDefaults.ExceptionHandlingConfig.HandlerFactories);
            Assert.AreEqual(ConfigurationEngineDefaults.UndeployRethrowPolicy.WARN, _config.EngineDefaults.ExceptionHandlingConfig.UndeployRethrowPolicy);
            Assert.IsNull(_config.EngineDefaults.ConditionHandlingConfig.HandlerFactories);
            Assert.AreEqual("js", _config.EngineDefaults.ScriptsConfig.DefaultDialect);

            var domType = new ConfigurationEventTypeXMLDOM();

            Assert.IsFalse(domType.IsXPathPropertyExpr);
            Assert.IsTrue(domType.IsXPathResolvePropertiesAbsolute);
            Assert.IsTrue(domType.IsEventSenderValidatesRoot);
            Assert.IsTrue(domType.IsAutoFragment);
        }