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"); }
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"); }
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(); }