public void AzResourceTypeProvider_can_deserialize_all_types_without_throwing() { var resourceTypeProvider = new AzResourceTypeProvider(); var availableTypes = resourceTypeProvider.GetAvailableTypes(); // sanity check - we know there should be a lot of types available var expectedTypeCount = 3000; availableTypes.Should().HaveCountGreaterThan(expectedTypeCount); foreach (var availableType in availableTypes) { resourceTypeProvider.HasType(availableType).Should().BeTrue(); var resourceType = resourceTypeProvider.GetType(availableType, false); var resourceTypeExisting = resourceTypeProvider.GetType(availableType, true); try { var visited = new HashSet <TypeSymbol>(); VisitAllReachableTypes(resourceType, visited); VisitAllReachableTypes(resourceTypeExisting, visited); } catch (Exception exception) { throw new InvalidOperationException($"Deserializing type {availableType.FormatName()} failed", exception); } } }
public void AzResourceTypeProvider_can_deserialize_all_types_without_throwing() { var resourceTypeProvider = new AzResourceTypeProvider(); var knownTypes = GetAllKnownTypes().ToImmutableArray(); // sanity check - we know there should be a lot of types available knownTypes.Should().HaveCountGreaterThan(500); foreach (var knownType in knownTypes) { resourceTypeProvider.HasType(knownType).Should().BeTrue(); var knownResourceType = resourceTypeProvider.GetType(knownType); try { var visited = new HashSet <TypeSymbol>(); VisitAllReachableTypes(knownResourceType, visited); } catch (Exception exception) { throw new InvalidOperationException($"Deserializing type {knownType.FormatName()} failed", exception); } } }