public void IsSame_should_fail_if_array_items_do_not_match()
        {
            var subject = new EncodedList(new string[] { "a", "b", "c" }, "hash");
            var other   = new EncodedList(new string[] { "a", "c", "b" }, "hash");

            subject.IsSame(other).Should().BeFalse();
        }
        public void IsSame_should_fail_if_hash_values_differ()
        {
            var subject = new EncodedList(new string[] { "a", "b", "c" }, "hash1");
            var other   = new EncodedList(new string[] { "a", "b", "c" }, "hash2");

            subject.IsSame(other).Should().BeFalse();
        }
        public void IsSame_should_succeed_if_values_match()
        {
            var subject = new EncodedList(new string[] { "a", "b", "c", "c", "c" }, "hash");
            var other   = new EncodedList(new string[] { "a", "b", "c", "c", "c" }, "hash");

            subject.IsSame(other).Should().BeTrue();
        }
        public void decoding_should_expose_correct_values()
        {
            var values = new object[]
            {
                new string[] { "a", "b", "c" },
                "hash"
            };
            var subject = new EncodedList(values);

            subject.Keys.Should().ContainInOrder(new string[] { "a", "b", "c" });
            subject.HashedValue.Should().Be("hash");
        }
        public void encoding_should_emit_correct_array_length_and_item_types()
        {
            var keys    = new string[] { "a", "b", "c" };
            var subject = new EncodedList(keys, "hash");

            var result = subject.Encode();

            result.Length.Should().Be(2);
            result[0].GetType().Should().BeAssignableTo <IEnumerable <string> >();
            ((IEnumerable <string>)result[0]).Should().Contain(new string[] { "a", "b", "c" });
            result[1].GetType().Should().Be <string>();
            ((string)result[1]).Should().Be("hash");
        }
Beispiel #6
0
        public void encoding_should_emit_query_params()
        {
            var subject = new EncodedParameters("abc");
            var list    = new EncodedList(new string[] { "foo", "foo" }, "hash");

            subject.QueryParameters = list;

            var values = subject.Encode();

            values.Should().ContainKey("q");
            values["q"].Should().BeAssignableTo <object[]>();
            var parts = (object[])values["q"];
            var keys  = (IEnumerable <string>)parts[0];

            keys.Count().Should().Be(2);
            keys.Should().ContainInOrder(new string[] { "foo", "foo" });
            var value = (string)parts[1];

            value.Should().Be("hash");
        }
Beispiel #7
0
        public void IsSame_should_work_for_header()
        {
            var subject = new EncodedParameters("token");
            var other   = new EncodedParameters("token");

            var list = new EncodedList(new string[] { "a" }, "hash");

            subject.RequestHeaders = other.RequestHeaders = list;
            subject.IsSame(other).Should().BeTrue();

            other.RequestHeaders = null;
            subject.IsSame(other).Should().BeFalse();

            other.RequestHeaders   = list;
            subject.RequestHeaders = null;
            subject.IsSame(other).Should().BeFalse();

            other.RequestHeaders   = null;
            subject.RequestHeaders = null;
            subject.IsSame(other).Should().BeTrue();
        }
        public void IsSame_should_fail_if_param_is_null()
        {
            var subject = new EncodedList(new string[] { "a", "b", "c" }, "hash");

            subject.IsSame(null).Should().BeFalse();
        }