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()); }
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); }
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); }
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); }
public void TestSingleOrDefaultPredicateNone() { Func<int> f = () => { var a = new[] { 1, 2, 3 }; return a.SingleOrDefault(x => x == 4); }; this.Test(f, 0); }
public void TestSingleOrDefaultCollectionTooMany() { Func<int> f = () => { var a = new[] { 1, 2 }; try { return a.SingleOrDefault(); } catch { return -1; } }; this.Test(f, -1); }
public void TestSingleOrDefaultCollectionOnly1() { Func<int> f = () => { var a = new[] { 1 }; return a.SingleOrDefault(); }; this.Test(f, 1); }
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()); }
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); }