/// <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)); }
/// <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>(); }