public void TryCreateReferenceForNullTypeThrows() { Assert.ThrowsException <ArgumentNullException>( () => CustomDataSourceReference.TryCreateReference( null, out CustomDataSourceReference _)); }
private static void RunCreateSuccessTest(Type type) { var result = CustomDataSourceReference.TryCreateReference( type, out CustomDataSourceReference reference); Assert.IsTrue(result); Assert.IsNotNull(reference); var metadata = type.GetCustomAttribute <CustomDataSourceAttribute>(); var dataSource = type.GetCustomAttribute <DataSourceAttribute>(); var tables = ((ICustomDataSource)Activator.CreateInstance(type)).DataTables; Assert.IsNotNull(metadata); Assert.IsNotNull(dataSource); Assert.IsNotNull(tables); Assert.AreEqual(type.Assembly.Location, reference.AssemblyPath); Assert.AreEqual(metadata.Description, reference.Description); Assert.AreEqual(metadata.Guid, reference.Guid); Assert.AreEqual(metadata.Name, reference.Name); Assert.AreEqual(type, reference.Type); Assert.AreEqual(dataSource, reference.DataSource); Assert.AreEqual(tables.Count(), reference.AvailableTables.Count()); Assert.IsTrue(tables.All(x => reference.AvailableTables.Contains(x))); }
private static void RunCreateFailTest(Type type) { var result = CustomDataSourceReference.TryCreateReference( type, out CustomDataSourceReference reference); Assert.IsFalse(result); Assert.IsNull(reference); }
public void SetupReference(Type type) { if (type != null) { if (CustomDataSourceReference.TryCreateReference( type, out CustomDataSourceReference reference)) { this.TypeToReference[type] = reference; } } }
private bool DoesDataSourceSupport(string file, CustomDataSourceReference cds) { try { if (cds.Instance.IsFileSupported(file)) { return(true); } } catch { // obviously can't support the file if it can't // make a decision } return(false); }
public void CloneClones() { var result = CustomDataSourceReference.TryCreateReference( typeof(SampleCds), out CustomDataSourceReference reference); Assert.IsTrue(result); Assert.IsNotNull(reference); var clone = reference.CloneT(); Assert.IsNotNull(clone); Assert.AreEqual(reference.AssemblyPath, clone.AssemblyPath); Assert.AreEqual(reference.DataSource, clone.DataSource); Assert.AreEqual(reference.Description, clone.Description); Assert.AreEqual(reference.Guid, clone.Guid); Assert.AreEqual(reference.Name, clone.Name); Assert.AreEqual(reference.Type, clone.Type); Assert.IsTrue(reference.AvailableTables.All(x => clone.AvailableTables.Contains(x))); Assert.IsTrue(clone.AvailableTables.All(x => reference.AvailableTables.Contains(x))); }
public bool TryCreateCustomDataSourceReference( Type type, out CustomDataSourceReference reference) { return(this.TypeToReference.TryGetValue(type, out reference)); }