public void UrlBuilderSynchronizeQueryTest()
        {
            UrlBuilder_Accessor target = new UrlBuilder_Accessor();

            Assert.IsNotNull(target);

            target.SynchronizeQuery();
            Assert.IsTrue(string.IsNullOrEmpty(target._query));

            target._internalQueryString.Add("testKey", "testValue");
            target.SynchronizeQuery();

            Assert.AreEqual("?testKey=testValue", target._query);
        }
        public void UrlBuilderSynchronizeQueryStringTest()
        {
            UrlBuilder_Accessor target = new UrlBuilder_Accessor();

            Assert.IsNotNull(target);
            Assert.AreEqual(0, target.QueryString.Count);

            target._query = "?testKey=testValue";
            target.SynchronizeQueryString();

            Assert.AreEqual(1, target.QueryString.Count);
            Assert.AreEqual("testValue", target.QueryString["testKey"]);
        }
        public void UrlBuilderQueryStringCollectionChangedTest()
        {
            UrlBuilder_Accessor target = new UrlBuilder_Accessor(); // TODO: Initialize to an appropriate value

            //NOTE:  Ensure creation with an empty query string
            Assert.IsNotNull(target);
            Assert.IsTrue(string.IsNullOrEmpty(target._query));

            //NOTE:  Directly set a new internal dictionary value, call the handler and ensure query string is updated
            target._internalQueryString.Add("testKey", "testValue");
            object sender = null;
            NotifyCollectionChangedEventArgs e = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset);
            target.QueryString_CollectionChanged(sender, e);

            Assert.AreEqual("?testKey=testValue", target._query);
        }
        public void UrlBuilderQueryStringTest()
        {
            UrlBuilder_Accessor target = new UrlBuilder_Accessor();

            target._internalQueryString = new Dictionary<string, object>();
            IDictionary<string, object> expected = target._queryString = new ObservableDictionary<string, object>(target._internalQueryString);
            IDictionary<string, object> actual = target.QueryString;

            Assert.AreEqual(expected, actual);
        }
        public void UrlBuilderInitializeQueryStringTest()
        {
            UrlBuilder_Accessor target;

            //NOTE:  Test with empty constructor
            target = new UrlBuilder_Accessor();
            target.InitializeQueryString();

            Assert.IsNotNull(target);
            Assert.IsNotNull(target._internalQueryString);
            Assert.IsNotNull(target._queryString);
            Assert.AreEqual(0, target.QueryString.Count);

            //NOTE:  Test with URL string constructor
            Uri uri = new Uri("http://test/page?queryKey=queryValue");
            target = new UrlBuilder_Accessor(uri);

            Assert.IsNotNull(target);
            Assert.IsNotNull(target._internalQueryString);
            Assert.IsNotNull(target._queryString);
            Assert.AreEqual(1, target.QueryString.Count);
        }