예제 #1
0
        /// <summary>
        /// 从给定的 <see cref="ZipArchive"/> 对象加载测试数据包结构。
        /// </summary>
        /// <param name="archive">包含测试数据包数据的压缩文件包。</param>
        /// <returns>封装测试数据包中数据描述的 <see cref="TestDataArchive"/> 对象。</returns>
        /// <exception cref="ArgumentNullException"><paramref name="archive"/> 为 null。</exception>
        /// <exception cref="BadTestDataArchiveException">给定的压缩包中不包含有效的测试数据包结构。</exception>
        public static TestDataArchive FromZipArchive(ZipArchive archive)
        {
            Contract.NotNull(archive, nameof(archive));

            var meta = TestDataArchiveMetadata.FromZipArchive(archive);

            return(new TestDataArchive(archive, meta));
        }
예제 #2
0
        /// <summary>
        /// 初始化 <see cref="TestDataArchive"/> 类的新实例。
        /// </summary>
        /// <param name="file">包含测试数据集的压缩文件。</param>
        /// <param name="metadata">提供测试数据集元数据。</param>
        /// <exception cref="ArgumentNullException">
        ///     <paramref name="file"/> 为 null
        ///     或
        ///     <paramref name="metadata"/> 为 null。
        /// </exception>
        private TestDataArchive(ZipArchive file, TestDataArchiveMetadata metadata)
        {
            Contract.NotNull(file, nameof(file));
            Contract.NotNull(metadata, nameof(metadata));

            _file = file;
            _meta = metadata;

            _disposed = false;
        }
 /// <summary>
 /// 初始化 <see cref="TestDataArchiveMetadataBuilder"/> 类的新实例。
 /// </summary>
 public TestDataArchiveMetadataBuilder()
 {
     _metadata        = new TestDataArchiveMetadata();
     _testCaseEntries = new Dictionary <string, ZipArchiveEntry>();
 }