// Copyright (c) Microsoft Open Technologies, Inc. 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, /// /// An instance of a of a given /// type. /// AsDictionary = 0x400, /// /// Add a null instance of the given type to the data set. This variation is /// not included in or other variation masks. /// WithNull = 0x800, /// /// Individual instances of containing the given . This /// variation is not included in or other variation masks. /// AsClassMember = 0x1000, /// /// 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 | AsDictionary, /// /// 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 } }