private static bool CheckDataCorrectness(Dictionary<ulong, TaskStatInfo> data) { return data.All( x => x.Key != null && x.Value.ResourceName != null && x.Value.ProcessInfoCollection.All(y => y.Key != null && y.Value != null && y.Value.All(z => z != null))); }
public List<Dictionary<string, object>> Join (Dictionary<string, object> joinData) { if (joinData == null || joinData.Count <= 0) { return data; } return data.Where (x => joinData.All (y => x.ContainsKey (y.Key) && x [y.Key].Equals (y.Value))).ToList (); }
public void WebConfigStateAllowsEnumeratingOverConfigItems() { // Arrange var dictionary = new Dictionary<string, string> { { "a", "b" }, { "c", "d" }, { "x12", "y34" } }; var stateStorage = GetWebConfigScopeStorage(dictionary); // Act and Assert Assert.True(dictionary.All(item => item.Value == stateStorage[item.Key] as string)); }
public void QuickPulseDataAccumulatorCollectsTelemetryItemsInThreadSafeManner() { // ARRANGE var accumulator = new QuickPulseDataAccumulator(); // ACT var iterationCount = 1000; var concurrency = 12; Action addItemTask = () => Enumerable.Range(0, iterationCount) .ToList() .ForEach( i => accumulator.TelemetryDocuments.Push(new RequestTelemetryDocument() { Name = i.ToString(CultureInfo.InvariantCulture) })); var tasks = new List<Action>(); for (int i = 0; i < concurrency; i++) { tasks.Add(addItemTask); } Parallel.Invoke(new ParallelOptions() { MaxDegreeOfParallelism = concurrency }, tasks.ToArray()); // ASSERT var dict = new Dictionary<int, int>(); foreach (var item in accumulator.TelemetryDocuments) { int requestNumber = int.Parse(((RequestTelemetryDocument)item).Name, CultureInfo.InvariantCulture); if (dict.ContainsKey(requestNumber)) { dict[requestNumber]++; } else { dict[requestNumber] = 1; } } Assert.AreEqual(iterationCount, dict.Count); Assert.IsTrue(dict.All(pair => pair.Value == concurrency)); }
private static int VerifyForwardedTypes( Dictionary<INamedTypeSymbol, INamedTypeSymbol> equivalentTypesWithDifferingAssemblies, Compilation compilation, HashSet<INamedTypeSymbol> verifiedKeys, bool isSearchSymbolCompilation) { Contract.ThrowIfNull(compilation); Contract.ThrowIfNull(equivalentTypesWithDifferingAssemblies); Contract.ThrowIfTrue(!equivalentTypesWithDifferingAssemblies.Any()); // Must contain equivalents named types residing in different assemblies. Contract.ThrowIfFalse(equivalentTypesWithDifferingAssemblies.All(kvp => !SymbolEquivalenceComparer.Instance.Equals(kvp.Key.ContainingAssembly, kvp.Value.ContainingAssembly))); // Must contain non-nested named types. Contract.ThrowIfFalse(equivalentTypesWithDifferingAssemblies.All(kvp => kvp.Key.ContainingType == null)); Contract.ThrowIfFalse(equivalentTypesWithDifferingAssemblies.All(kvp => kvp.Value.ContainingType == null)); var referencedAssemblies = new MultiDictionary<string, IAssemblySymbol>(); foreach (var assembly in compilation.GetReferencedAssemblySymbols()) { referencedAssemblies.Add(assembly.Name, assembly); } int verifiedCount = 0; foreach (var kvp in equivalentTypesWithDifferingAssemblies) { if (!verifiedKeys.Contains(kvp.Key)) { INamedTypeSymbol originalType, expectedForwardedType; if (isSearchSymbolCompilation) { originalType = kvp.Value.OriginalDefinition; expectedForwardedType = kvp.Key.OriginalDefinition; } else { originalType = kvp.Key.OriginalDefinition; expectedForwardedType = kvp.Value.OriginalDefinition; } foreach (var referencedAssembly in referencedAssemblies[originalType.ContainingAssembly.Name]) { var fullyQualifiedTypeName = originalType.MetadataName; if (originalType.ContainingNamespace != null) { fullyQualifiedTypeName = originalType.ContainingNamespace.ToDisplayString(SymbolDisplayFormats.SignatureFormat) + "." + fullyQualifiedTypeName; } // Resolve forwarded type and verify that the types from different assembly are indeed equivalent. var forwardedType = referencedAssembly.ResolveForwardedType(fullyQualifiedTypeName); if (forwardedType == expectedForwardedType) { verifiedKeys.Add(kvp.Key); verifiedCount++; } } } } return verifiedCount; }
private static bool CheckDataCorrectness(Dictionary<string, Dictionary<string, List<NodeInfo>>> data) { return data.All(x => x.Key != null && x.Value != null && x.Value.All(y => y.Key != null && y.Value != null && y.Value.All(z => z != null))); }