mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-12-27 12:35:35 +08:00
30 lines
881 B
C#
30 lines
881 B
C#
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.IO;
|
||
|
using System.Linq;
|
||
|
using System.Reflection;
|
||
|
using Xunit.Sdk;
|
||
|
|
||
|
namespace BililiveRecorder.Flv.RuleTests
|
||
|
{
|
||
|
public class SampleFileTestDataAttribute : DataAttribute
|
||
|
{
|
||
|
public SampleFileTestDataAttribute(string basePath)
|
||
|
{
|
||
|
this.BasePath = basePath;
|
||
|
}
|
||
|
|
||
|
public string BasePath { get; }
|
||
|
|
||
|
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
|
||
|
{
|
||
|
var fullPath = Path.IsPathRooted(this.BasePath) ? this.BasePath : Path.GetRelativePath(Directory.GetCurrentDirectory(), this.BasePath);
|
||
|
|
||
|
if (!Directory.Exists(fullPath))
|
||
|
throw new ArgumentException($"Could not find directory at path: {fullPath}");
|
||
|
|
||
|
return Directory.GetFiles(fullPath, "*.xml").Select(x => new object[] { x });
|
||
|
}
|
||
|
}
|
||
|
}
|