예제 #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="T:System.Object" /> class.
        /// </summary>
        /// <exception cref="ArgumentNullException"><paramref name="chatEngine" /> is <see langword="null" />.</exception>
        internal ChatProcessor([NotNull] ChatEngine chatEngine)
        {
            if (chatEngine == null) { throw new ArgumentNullException(nameof(chatEngine)); }

            // Store helpers
            _chatEngine = chatEngine;
            _tagFactory = new TagHandlerFactory(chatEngine);
            _aimlLoader = new AimlLoader(chatEngine);
        }
예제 #2
0
        public void BuildDynamicWithKnownTagReturnsNewHandler()
        {
            var factory = new TagHandlerFactory(Engine);
            var parameters = BuildTagHandlerParameters("<srai>Testing Rocks</srai>");
            var result = factory.BuildTagHandlerDynamic("srai", parameters);

            Assert.IsNotNull(result);

            var handler = (RedirectTagHandler)result;
            Assert.AreEqual("Testing Rocks", handler.Contents);
        }
예제 #3
0
        public void BuildDynamicWithUnknownTagReturnsNull()
        {
            var factory = new TagHandlerFactory(Engine);
            var result = factory.BuildTagHandlerDynamic("Unknown",
                                                        BuildTagHandlerParameters("<unknown />"));

            Assert.IsNull(result);
        }
예제 #4
0
 public void BuildDynamicWithNullTagThrowsException()
 {
     var factory = new TagHandlerFactory(Engine);
     var parameters = BuildTagHandlerParameters("<Foo />");
     factory.BuildTagHandlerDynamic(null, parameters);
 }
예제 #5
0
 public void BuildDynamicWithNullParametersThrowsException()
 {
     var factory = new TagHandlerFactory(Engine);
     factory.BuildTagHandlerDynamic("Foo", null);
 }