1 // -----------------------------------------------------------------------
\r
2 // Copyright (c) Microsoft Corporation. All rights reserved.
\r
3 // -----------------------------------------------------------------------
\r
5 using System.Collections.Generic;
\r
7 using System.Linq.Expressions;
\r
8 using System.UnitTesting;
\r
9 using Microsoft.VisualStudio.TestTools.UnitTesting;
\r
10 using System.ComponentModel.Composition.Primitives;
\r
12 namespace System.ComponentModel.Composition.UnitTesting
\r
14 internal static class ConstraintAssert
\r
16 public static void Contains(Expression<Func<ExportDefinition, bool>> constraint, string contractName)
\r
18 Contains(constraint, contractName, Enumerable.Empty<KeyValuePair<string, Type>>());
\r
21 public static void Contains(Expression<Func<ExportDefinition, bool>> constraint, string contractName, IEnumerable<KeyValuePair<string, Type>> requiredMetadata)
\r
23 string actualContractName;
\r
24 IEnumerable<KeyValuePair<string, Type>> actualRequiredMetadata;
\r
25 bool success = TryParseConstraint(constraint, out actualContractName, out actualRequiredMetadata);
\r
27 Assert.IsTrue(success);
\r
28 Assert.AreEqual(contractName, actualContractName);
\r
29 EnumerableAssert.AreEqual(requiredMetadata, actualRequiredMetadata);
\r
32 private static bool TryParseConstraint(Expression<Func<ExportDefinition, bool>> constraint, out string contractName, out IEnumerable<KeyValuePair<string, Type>> requiredMetadata)
\r
34 return ContraintParser.TryParseConstraint(constraint, out contractName, out requiredMetadata);
\r