Пример #1
0
        internal static ContentProperty GetContentProperty(int id)
        {
            var propertyRepo = new[]
                {
                    new
                        {
                            Alias = "numbers",
                            Id = 10,
                            Label = "Numbers",
                            Description = "Enter a numeric value",
                            DataType = GetDataType(90),
                            Value = "12345987765"
                        },
                    new
                        {
                            Alias = "serverEnvironment",
                            Id = 11,
                            Label = "Server Info",
                            Description = "Some server information",
                            DataType = GetDataType(91),
                            Value = ""
                        },
                    new
                        {
                            Alias = "complexEditor",
                            Id = 12,
                            Label = "Multiple Values",
                            Description = "A multi value editor",
                            DataType = GetDataType(92),
                            Value = "My Value 1, My Value 2, My Value 3, My Value 4, My Value 5"
                        }
                };

            var found = propertyRepo.SingleOrDefault(x => x.Id == id);
            if (found == null)
            {
                throw new ApplicationException("Could not find property with the specified id " + id);
            }

            //get the property editor
            var propEditor = PropertyEditorResolver.Current.GetById(found.DataType.ControlId);
            if (propEditor == null)
            {
                throw new ApplicationException("Could not find the property editor with the id " + found.DataType.ControlId);
            }

            return new ContentProperty
                {
                    Alias = found.Alias,
                    Id = found.Id,
                    Label = found.Label,
                    Description = found.Description,
                    Value = found.Value,
                    Config = GetPreValue(found.DataType.Id),
                    View = propEditor.ValueEditor.View
                };
        }
        public async Task SingleOrDefaultShouldReturnElement()
        {
            var sequence = new[] { 10 }.ToAsync();
            Assert.AreEqual(10, await sequence.SingleOrDefault());

            var sequence2 = new int[] { }.ToAsync();
            Assert.AreEqual(0,await sequence2.SingleOrDefault());
            
            var sequence3 = new int[] { 10, 11 }.ToAsync();
            Assert.AreEqual(0,await sequence3.SingleOrDefault());
        }
Пример #3
0
        public async Task TestGetProperties()
        {
            var api = new Api(_serverCredential);

            var uris = new[]
            {
                new Uri(
                    "magnet:?xt=urn:btih:cd8158937344b2a066446bed7e7a0c45214f1245&dn=debian-8.2.0-amd64-DVD-1.iso&tr=http%3a%2f%2fbttracker.debian.org%3a6969%2fannounce")
            };
            var hashes = new[]
            {
                "cd8158937344b2a066446bed7e7a0c45214f1245"
            };

            await api.DownloadFromUrls(uris);

            //await api.WaitForTorrentToBePausedByHash(hashes.FirstOrDefault());

            //await api.Resume(hashes.FirstOrDefault());

            await api.WaitForTorrentToStartByHash(hashes.FirstOrDefault());

            var trackersPropertieses = await api.GetTrackersProperties(hashes.SingleOrDefault());

            Assert.True(trackersPropertieses.Any(p => p.Url.Contains("http://bttracker.debian.org:6969/announce")));

            var filesPropertieses = await api.GetFilesProperties(hashes.SingleOrDefault());
            var file = filesPropertieses.Single();
            Assert.Equal("debian-8.2.0-amd64-DVD-1.iso", file.Name);
            Assert.Equal(3992977408, file.Size);

            var transferInfo = await api.GetTransferInfo();
            Assert.True(transferInfo.DhtNodes >= 0);

            var setCategoryResult = await api.SetCategory(hashes, "linux-distro");
            Assert.True(transferInfo.DhtNodes >= 0);

            var recheckResult = await api.Recheck(hashes.SingleOrDefault());
            Assert.True(recheckResult);

            var addTrackerResult = await api.AddTrackers(hashes.SingleOrDefault(), new[] { new Uri("http://test1/"), new Uri("http://test2/") });
            Assert.True(addTrackerResult);

            await api.DeletePermanently(hashes);
        }
Пример #4
0
        public async Task TestGetGeneralProperties()
        {
            var api = new Api(_serverCredential);

            var uris = new[]
            {
                new Uri(
                    "magnet:?xt=urn:btih:cd8158937344b2a066446bed7e7a0c45214f1245&dn=debian-8.2.0-amd64-DVD-1.iso&tr=http%3a%2f%2fbttracker.debian.org%3a6969%2fannounce")
            };
            var hashes = new[]
            {
                "cd8158937344b2a066446bed7e7a0c45214f1245"
            };

            await api.DownloadFromUrls(uris);

            await api.WaitForTorrentToBePausedByHash(hashes.FirstOrDefault());

            await api.Resume(hashes.FirstOrDefault());

            await api.WaitForTorrentToStartByHash(hashes.FirstOrDefault());

            var generalProperties = await api.GetGeneralProperties(hashes.SingleOrDefault());

            Assert.True(generalProperties.TimeElapsed >= 0);

            await api.DeletePermanently(hashes);
        }
Пример #5
0
 public void TestSingleOrDefaultPredicateTooMany() {
     Func<int> f = () => {
         var a = new[] { 1, 2, 3 };
         try {
             return a.SingleOrDefault(x => x >= 0);
         } catch {
             return -1;
         }
     };
     this.Test(f, -1);
 }
Пример #6
0
 public void TestSingleOrDefaultPredicateNone() {
     Func<int> f = () => {
         var a = new[] { 1, 2, 3 };
         return a.SingleOrDefault(x => x == 4);
     };
     this.Test(f, 0);
 }
Пример #7
0
 public void TestSingleOrDefaultCollectionTooMany() {
     Func<int> f = () => {
         var a = new[] { 1, 2 };
         try {
             return a.SingleOrDefault();
         } catch {
             return -1;
         }
     };
     this.Test(f, -1);
 }
Пример #8
0
 public void TestSingleOrDefaultCollectionOnly1() {
     Func<int> f = () => {
         var a = new[] { 1 };
         return a.SingleOrDefault();
     };
     this.Test(f, 1);
 }
Пример #9
0
 internal static IDataTypeDefinition GetDataType(int id)
 {
     var dataTypeRepo = new[]
         {
             new DataTypeDefinition(-1, new Guid("0BA0F832-D759-4526-9B3E-94BBFC98F92E"))
                 {
                     Name = "Numbers",
                     Id = 90,
                     DatabaseType = DataTypeDatabaseType.Integer
                 },
             new DataTypeDefinition(-1, new Guid("AD056473-492B-47F8-9613-5A4936666C67"))
                 {
                     Name = "Server Info",
                     Id = 91,
                     DatabaseType = DataTypeDatabaseType.Nvarchar
                 },
             new DataTypeDefinition(-1, new Guid("A24C4A00-29BF-4A57-BDE6-B1E305A96A4C"))
                 {
                     Name = "Multiple Values",
                     Id = 92,
                     DatabaseType = DataTypeDatabaseType.Nvarchar
                 },
             new DataTypeDefinition(-1, new Guid("E96E24E5-7124-4FA8-A7D7-C3D3695E100D"))
                 {
                     Name = "Postcode",
                     Id = 93,
                     DatabaseType = DataTypeDatabaseType.Nvarchar
                 },
         };
     return dataTypeRepo.SingleOrDefault(x => x.Id == id);
 }
 public void SingleElementSequenceWithoutPredicate()
 {
     IEnumerableWithCount<int> source = new[]{ 5 }.AsEnumerableWithCount();
     Assert.AreEqual(5, source.SingleOrDefault());
 }
 public void MultipleElementSequenceWithoutPredicate()
 {
     IEnumerableWithCount<int> source = new[]{ 5, 10 }.AsEnumerableWithCount();
     Assert.Throws<InvalidOperationException>(() => source.SingleOrDefault());
 }
Пример #12
0
        private static int ParameterOrder(string name, System.Reflection.ParameterInfo[] mParameters, ParameterAttribute parameter)
        {
            var methodParameter = mParameters.SingleOrDefault(x => x.Name == parameter.Name);
            if (methodParameter == null)
                throw new InvalidOperationException("Cannot find method parameter " + parameter.Name + " on " + name);

            return Array.IndexOf(mParameters, methodParameter);
        }