Ejemplo n.º 1
0
        public void MultipleEnumerations_ShouldEnumerateOnce()
        {
            var enumerable       = new SingleEnumerable <int>(Enumerable.Range(1, 3));
            var cachedEnumerable = CachedEnumerable.Create(enumerable);

            Assert.Equal(new[] { 1, 2, 3 }, cachedEnumerable);
            Assert.Equal(new[] { 1, 2, 3 }, cachedEnumerable);
        }
    public void SingleEnumerableTest()
    {
        var single = new SingleEnumerable <int>(42);

        Assert.NotNull(single);
        Assert.AreEqual(42, single.First());
        Assert.AreEqual(42, single.Last());
        Assert.AreEqual(1, single.Count());
        var enumerator = single.GetEnumerator();

        Assert.NotNull(enumerator);
        Assert.IsInstanceOf <IEnumerator <int> >(enumerator);
        Assert.AreEqual(0, enumerator.Current);
        Assert.IsTrue(enumerator.MoveNext());
        Assert.AreEqual(42, enumerator.Current);
        Assert.IsFalse(enumerator.MoveNext());
        Assert.AreEqual(0, enumerator.Current);
        enumerator.Reset();
        Assert.AreEqual(0, enumerator.Current);
        Assert.IsTrue(enumerator.MoveNext());
        Assert.AreEqual(42, enumerator.Current);
        Assert.IsFalse(enumerator.MoveNext());
        Assert.AreEqual(0, enumerator.Current);
    }
        private WsdlImporter CreateImporter(EndPointSetting wsdl)
        {
            var endpoint = new EndpointAddress(wsdl.Uri);

            var binding = new WSHttpBinding(SecurityMode.None)
            {
                MaxReceivedMessageSize = Int32.MaxValue,
            };

            var mex = new MetadataExchangeClient(binding);
            mex.ResolveMetadataReferences = true;

            var sections = new SingleEnumerable<EndpointAddress>(endpoint)
                                    .Select(ma => mex.GetMetadata(ma.Uri, MetadataExchangeClientMode.HttpGet))
                                    .SelectMany(mds => mds.MetadataSections);

            var metaDocs = new MetadataSet(sections);

            return new WsdlImporter(metaDocs);
        }