// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. using System; namespace Microsoft.TestCommon { /// /// An flags enum that can be used to indicate different variations of a given /// instance. /// [Flags] public enum TestDataVariations { /// /// An individual instance of a given type. /// AsInstance = 0x1, /// /// An individual instance of a type that derives from a given type. /// AsDerivedType = 0x2, /// /// An individual instance of a given type that has a property value /// that is a known type of the declared property type. /// AsKnownType = 0x4, /// /// A instance of a given type. Only applies to /// instances of . /// AsNullable = 0x8, /// /// An instance of a of a given type. /// AsList = 0x10, /// /// An instance of a array of the type. /// AsArray = 0x20, /// /// An instance of an of a given type. /// AsIEnumerable = 0x40, /// /// An instance of an of a given type. /// AsIQueryable = 0x80, /// /// An instance of a DataContract type in which a given type is a member. /// AsDataMember = 0x100, /// /// An instance of a type in which a given type is decorated with a /// . /// AsXmlElementProperty = 0x200, /// /// All of the flags for single instance variations of a given type. /// AllSingleInstances = AsInstance | AsDerivedType | AsKnownType | AsNullable, /// /// All of the flags for collection variations of a given type. /// AllCollections = AsList | AsArray | AsIEnumerable | AsIQueryable, /// /// All of the flags for variations in which a given type is a property on another type. /// AllProperties = AsDataMember | AsXmlElementProperty, /// /// All of the flags for interface collection variations of a given type. /// AllInterfaces = AsIEnumerable | AsIQueryable, /// /// All of the flags except for the interface collection variations of a given type. /// AllNonInterfaces = All & ~AllInterfaces, /// /// All of the flags for all of the variations of a given type. /// All = AllSingleInstances | AllCollections | AllProperties } }