public DMLibTestMethodSetAttribute(DMLibTestMethodSet directionSet)
 {
     switch (directionSet)
     {
         case DMLibTestMethodSet.AllValidDirection:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             break;
         case DMLibTestMethodSet.Cloud2Cloud:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.Cloud,
                 DestType = DMLibDataType.Cloud,
             });
             break;
         case DMLibTestMethodSet.AllAsync:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 IsAsync = true,
             });
             break;
         case DMLibTestMethodSet.AllSync:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 IsAsync = false,
             });
             break;
         case DMLibTestMethodSet.CloudSource:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.Cloud,
             });
             break;
         case DMLibTestMethodSet.CloudBlobSource:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.CloudBlob,
             });
             break;
         case DMLibTestMethodSet.CloudFileSource:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.CloudFile,
             });
             break;
         case DMLibTestMethodSet.LocalSource:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.Local,
             });
             break;
         case DMLibTestMethodSet.CloudDest:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.Cloud,
             });
             break;
         case DMLibTestMethodSet.CloudBlobDest:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.CloudBlob,
             });
             break;
         case DMLibTestMethodSet.CloudFileDest:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.CloudFile,
             });
             break;
         case DMLibTestMethodSet.LocalDest:
             this.AddTestMethodAttribute(AllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.Local,
             });
             break;
         case DMLibTestMethodSet.DirAllValidDirection:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             break;
         case DMLibTestMethodSet.DirCloud2Cloud:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.Cloud,
                 DestType = DMLibDataType.Cloud,
             });
             break;
         case DMLibTestMethodSet.DirAllAsync:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 IsAsync = true,
             });
             break;
         case DMLibTestMethodSet.DirAllSync:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 IsAsync = false,
             });
             break;
         case DMLibTestMethodSet.DirCloudSource:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.Cloud,
             });
             break;
         case DMLibTestMethodSet.DirCloudBlobSource:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.CloudBlob,
             });
             break;
         case DMLibTestMethodSet.DirCloudFileSource:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.CloudFile,
             });
             break;
         case DMLibTestMethodSet.DirLocalSource:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 SourceType = DMLibDataType.Local,
             });
             break;
         case DMLibTestMethodSet.DirCloudDest:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.Cloud,
             });
             break;
         case DMLibTestMethodSet.DirCloudBlobDest:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.CloudBlob,
             });
             break;
         case DMLibTestMethodSet.DirCloudFileDest:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.CloudFile,
             });
             break;
         case DMLibTestMethodSet.DirLocalDest:
             this.AddTestMethodAttribute(DirAllValidDirectionSet);
             this.AddDirectionFilter(new DMLibDirectionFilter()
             {
                 DestType = DMLibDataType.Local,
             });
             break;
         default:
             throw new ArgumentException(string.Format("Invalid MultiDirectionSet: {0}", directionSet.ToString()), "directionSet");
     }
 }
        public DMLibTestMethodSetAttribute(DMLibTestMethodSet directionSet)
        {
            switch (directionSet)
            {
            case DMLibTestMethodSet.AllValidDirection:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                break;

            case DMLibTestMethodSet.Cloud2Cloud:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    SourceType = DMLibDataType.Cloud,
                    DestType   = DMLibDataType.Cloud,
                });
                break;

            case DMLibTestMethodSet.AllAsync:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    IsAsync = true,
                });
                break;

            case DMLibTestMethodSet.AllSync:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    IsAsync = false,
                });
                break;

            case DMLibTestMethodSet.CloudSource:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    SourceType = DMLibDataType.Cloud,
                });
                break;

            case DMLibTestMethodSet.CloudBlobSource:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    SourceType = DMLibDataType.CloudBlob,
                });
                break;

            case DMLibTestMethodSet.CloudFileSource:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    SourceType = DMLibDataType.CloudFile,
                });
                break;

            case DMLibTestMethodSet.LocalSource:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    SourceType = DMLibDataType.Local,
                });
                break;

            case DMLibTestMethodSet.CloudDest:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    DestType = DMLibDataType.Cloud,
                });
                break;

            case DMLibTestMethodSet.CloudBlobDest:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    DestType = DMLibDataType.CloudBlob,
                });
                break;

            case DMLibTestMethodSet.CloudFileDest:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    DestType = DMLibDataType.CloudFile,
                });
                break;

            case DMLibTestMethodSet.LocalDest:
                this.AddTestMethodAttribute(AllValidDirectionSet);
                this.AddDirectionFilter(new DMLibDirectionFilter()
                {
                    DestType = DMLibDataType.Local,
                });
                break;

            default:
                throw new ArgumentException(string.Format("Invalid MultiDirectionSet: {0}", directionSet.ToString()), "directionSet");
            }
        }