public void CollectAndAssert() { GC.Collect(); GC.WaitForPendingFinalizers(); EqualityExtensions.IsTrueForAll(ReferencesExpectedToBeCollected, wr => wr.Target == null, "Object should have been collected."); EqualityExtensions.IsTrueForAll(ReferencesNotExpectedToBeCollected, wr => wr.Target != null, "Object should be have NOT been collected."); }
public void VerifyImport(params int[] expectedValues) { object[] untypedExpectedValues = expectedValues.Cast <object>().ToArray(); ExportsAssert.AreEqual(CollectionPlain, untypedExpectedValues); ExportsAssert.AreEqual(CollectionPlainRawMetadata, untypedExpectedValues); EqualityExtensions.IsTrueForAll(CollectionPlainRawMetadata, i => true.Equals(i.Metadata["PropertyName"])); Assert.Empty(CollectionPlainEmpty); Assert.Empty(CollectionPlainEmptyRawMetadata); // Add a new Export to this collection to ensure that it doesn't // modifiy the other collections because they should each have there // own collection instance CollectionPlain.Add(ExportFactory.Create <object>("Value")); ExportsAssert.AreEqual(CollectionTyped, expectedValues); ExportsAssert.AreEqual(CollectionTypedRawMetadata, expectedValues); EqualityExtensions.IsTrueForAll(CollectionTypedRawMetadata, i => true.Equals(i.Metadata["PropertyName"])); Assert.Empty(CollectionTypedEmpty); ExportsAssert.AreEqual(CollectionTypedMetadata, expectedValues); EqualityExtensions.IsTrueForAll(CollectionTypedMetadata, i => true == i.Metadata.PropertyName); Assert.Empty(CollectionTypedMetadataEmpty); EnumerableAssert.AreEqual(ReadWriteEnumerable, expectedValues); Assert.Empty(ReadWriteEnumerableEmpty); ExportsAssert.AreEqual(MetadataUntypedEnumerable, untypedExpectedValues); ExportsAssert.AreEqual(MetadataUntypedEnumerableRawMetadata, untypedExpectedValues); EqualityExtensions.IsTrueForAll(MetadataUntypedEnumerableRawMetadata, i => true.Equals(i.Metadata["PropertyName"])); Assert.Empty(MetadataUntypedEnumerableEmpty); Assert.Empty(MetadataUntypedEnumerableEmptyRawMetadata); ExportsAssert.AreEqual(MetadataTypedEnumerable, expectedValues); ExportsAssert.AreEqual(MetadataTypedEnumerableRawMetadata, expectedValues); EqualityExtensions.IsTrueForAll(MetadataTypedEnumerableRawMetadata, i => true.Equals(i.Metadata["PropertyName"])); Assert.Empty(MetadataTypedEnumerableEmpty); ExportsAssert.AreEqual(MetadataFullyTypedEnumerable, expectedValues); EqualityExtensions.IsTrueForAll(MetadataFullyTypedEnumerable, i => true == i.Metadata.PropertyName); Assert.Empty(MetadataFullyTypedEnumerableEmpty); }