Fix bugs in sizing TableLayoutPanel (Xamarin bug 18638)
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / UnitTesting / ConstraintAssert.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.Collections.Generic;\r
6 using System.Linq;\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
11 \r
12 namespace System.ComponentModel.Composition.UnitTesting\r
13 {\r
14     internal static class ConstraintAssert\r
15     {\r
16         public static void Contains(Expression<Func<ExportDefinition, bool>> constraint, string contractName)\r
17         {\r
18             Contains(constraint, contractName, Enumerable.Empty<KeyValuePair<string, Type>>());\r
19         }\r
20 \r
21         public static void Contains(Expression<Func<ExportDefinition, bool>> constraint, string contractName, IEnumerable<KeyValuePair<string, Type>> requiredMetadata)\r
22         {\r
23             string actualContractName;\r
24             IEnumerable<KeyValuePair<string, Type>> actualRequiredMetadata;\r
25             bool success = TryParseConstraint(constraint, out actualContractName, out actualRequiredMetadata);\r
26 \r
27             Assert.IsTrue(success);\r
28             Assert.AreEqual(contractName, actualContractName);\r
29             EnumerableAssert.AreEqual(requiredMetadata, actualRequiredMetadata);\r
30         }\r
31 \r
32         private static bool TryParseConstraint(Expression<Func<ExportDefinition, bool>> constraint, out string contractName, out IEnumerable<KeyValuePair<string, Type>> requiredMetadata)\r
33         {\r
34             return ContraintParser.TryParseConstraint(constraint, out contractName, out requiredMetadata);\r
35         }\r
36     }\r
37 }\r