Unify codeing style.

This commit is contained in:
2026-05-25 20:48:08 +08:00
parent e1269de80e
commit 937f1dd3a9
5 changed files with 72 additions and 72 deletions
+4 -4
View File
@@ -28,9 +28,9 @@ public class AudioMetadataReaderTest
private static (Dictionary<string, string> basic, Dictionary<string, string> meta, Dictionary<string, string> extra)
ParseAtlTxt(string atlPath)
{
var basic = new Dictionary<string, string>();
var meta = new Dictionary<string, string>();
var extra = new Dictionary<string, string>();
Dictionary<string, string> basic = new();
Dictionary<string, string> meta = new();
Dictionary<string, string> extra = new();
string[] lines = File.ReadAllLines(atlPath);
string section = "";
@@ -135,7 +135,7 @@ public class AudioMetadataReaderTest
if (atlPath == null)
continue;
var (basic, metaFields, extra) = ParseAtlTxt(atlPath);
(Dictionary<string, string> basic, Dictionary<string, string> metaFields, Dictionary<string, string> extra) = ParseAtlTxt(atlPath);
// 基础技术参数与 ATL 一致
Assert.Equal(int.Parse(basic["DurationMs"]) / 1000.0, meta.Duration);
+31 -31
View File
@@ -20,16 +20,16 @@ public class DatabaseTests
Database.InitializeDatabase(dbName);
// Assert — 用自己的 SQLite 连接验证
using var conn = new SQLiteConnection($"Data Source={dbPath};Version=3;");
using SQLiteConnection conn = new($"Data Source={dbPath};Version=3;");
conn.Open();
// 1. 表存在
var tableCount = conn.ExecuteScalar<int>(
int tableCount = conn.ExecuteScalar<int>(
"SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='audio_files';");
Assert.Equal(1, tableCount);
// 2. 核心列存在(抽查)
var columns = conn.Query<string>(
HashSet<string> columns = conn.Query<string>(
"SELECT name FROM pragma_table_info('audio_files') ORDER BY cid;").ToHashSet();
Assert.Contains("id", columns);
Assert.Contains("unique_id", columns);
@@ -41,7 +41,7 @@ public class DatabaseTests
Assert.Contains("description", columns);
// 3. 索引存在
var indexes = conn.Query<string>(
HashSet<string> indexes = conn.Query<string>(
"SELECT name FROM sqlite_master WHERE type='index' AND tbl_name='audio_files';")
.ToHashSet();
Assert.Contains("idx_file_name", indexes);
@@ -72,9 +72,9 @@ public class DatabaseTests
Assert.Null(exception);
// 表仍然只有一个
using var conn = new SQLiteConnection($"Data Source={dbPath};Version=3;");
using SQLiteConnection conn = new($"Data Source={dbPath};Version=3;");
conn.Open();
var tableCount = conn.ExecuteScalar<int>(
int tableCount = conn.ExecuteScalar<int>(
"SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='audio_files';");
Assert.Equal(1, tableCount);
}
@@ -88,7 +88,7 @@ public class DatabaseTests
private static AudioFileMeta CreateSampleMeta(int id = 0)
{
var guid = Guid.NewGuid().ToString("N");
string guid = Guid.NewGuid().ToString("N");
return new AudioFileMeta
{
Id = id,
@@ -119,9 +119,9 @@ public class DatabaseTests
private static void DeleteTestEntries(params string[] uniqueIds)
{
using var conn = new SQLiteConnection($"Data Source={GetDefaultDbPath()};Version=3;");
using SQLiteConnection conn = new($"Data Source={GetDefaultDbPath()};Version=3;");
conn.Open();
foreach (var uid in uniqueIds)
foreach (string uid in uniqueIds)
conn.Execute("DELETE FROM audio_files WHERE unique_id = @UniqueId", new { UniqueId = uid });
}
@@ -129,12 +129,12 @@ public class DatabaseTests
public void AddEntry_Then_GetEntryById_ShouldReturnRecord()
{
Database.InitializeDatabase();
var meta = CreateSampleMeta();
AudioFileMeta meta = CreateSampleMeta();
Assert.True(Database.AddEntry(meta));
try
{
var retrieved = Database.GetEntryById(meta.Id);
AudioFileMeta? retrieved = Database.GetEntryById(meta.Id);
Assert.NotNull(retrieved);
Assert.Equal(meta.UniqueId, retrieved!.UniqueId);
Assert.Equal(meta.Filename, retrieved.Filename);
@@ -150,7 +150,7 @@ public class DatabaseTests
public void GetEntryById_NotFound_ShouldReturnNull()
{
Database.InitializeDatabase();
var result = Database.GetEntryById(int.MaxValue);
AudioFileMeta? result = Database.GetEntryById(int.MaxValue);
Assert.Null(result);
}
@@ -158,12 +158,12 @@ public class DatabaseTests
public void AddEntry_Then_GetEntryByUniqueId_ShouldReturnRecord()
{
Database.InitializeDatabase();
var meta = CreateSampleMeta();
AudioFileMeta meta = CreateSampleMeta();
Database.AddEntry(meta);
try
{
var retrieved = Database.GetEntryByUniqueId(meta.UniqueId);
AudioFileMeta? retrieved = Database.GetEntryByUniqueId(meta.UniqueId);
Assert.NotNull(retrieved);
Assert.Equal(meta.Md5, retrieved!.Md5);
}
@@ -177,7 +177,7 @@ public class DatabaseTests
public void GetEntryByUniqueId_NotFound_ShouldReturnNull()
{
Database.InitializeDatabase();
var result = Database.GetEntryByUniqueId("nonexistent-guid");
AudioFileMeta? result = Database.GetEntryByUniqueId("nonexistent-guid");
Assert.Null(result);
}
@@ -185,18 +185,18 @@ public class DatabaseTests
public void QueryEntries_ShouldFilterBySearchText()
{
Database.InitializeDatabase();
var meta = CreateSampleMeta();
AudioFileMeta meta = CreateSampleMeta();
meta.Description = "Unique underwater ambience loop";
meta.Keywords = "water,ocean,deep";
Database.AddEntry(meta);
try
{
var results = Database.QueryEntries(searchText: "underwater").ToList();
List<AudioFileMeta> results = Database.QueryEntries(searchText: "underwater").ToList();
Assert.Single(results);
Assert.Equal(meta.UniqueId, results[0].UniqueId);
var empty = Database.QueryEntries(searchText: "zzz_nonexistent_zzz").ToList();
List<AudioFileMeta> empty = Database.QueryEntries(searchText: "zzz_nonexistent_zzz").ToList();
Assert.Empty(empty);
}
finally
@@ -209,16 +209,16 @@ public class DatabaseTests
public void QueryEntries_ShouldFilterByDuration()
{
Database.InitializeDatabase();
var shortMeta = CreateSampleMeta();
AudioFileMeta shortMeta = CreateSampleMeta();
shortMeta.Duration = 1.0;
var longMeta = CreateSampleMeta();
AudioFileMeta longMeta = CreateSampleMeta();
longMeta.Duration = 10.0;
Database.AddEntries(new[] { shortMeta, longMeta });
Database.AddEntries([shortMeta, longMeta]);
try
{
var results = Database.QueryEntries(minDuration: 5.0).ToList();
List<AudioFileMeta> results = Database.QueryEntries(minDuration: 5.0).ToList();
Assert.Single(results);
Assert.Equal(longMeta.UniqueId, results[0].UniqueId);
}
@@ -232,12 +232,12 @@ public class DatabaseTests
public void QueryEntries_ShouldSupportPagination()
{
Database.InitializeDatabase();
var entries = Enumerable.Range(0, 5).Select(_ => CreateSampleMeta()).ToList();
List<AudioFileMeta> entries = Enumerable.Range(0, 5).Select(_ => CreateSampleMeta()).ToList();
Database.AddEntries(entries);
try
{
var page = Database.QueryEntries(limit: 2, offset: 1).ToList();
List<AudioFileMeta> page = Database.QueryEntries(limit: 2, offset: 1).ToList();
Assert.Equal(2, page.Count);
}
finally
@@ -250,13 +250,13 @@ public class DatabaseTests
public void SearchEntries_ShouldFindByKeyword()
{
Database.InitializeDatabase();
var meta = CreateSampleMeta();
AudioFileMeta meta = CreateSampleMeta();
meta.Keywords = "magic,spell,fireball";
Database.AddEntry(meta);
try
{
var results = Database.SearchEntries("fireball").ToList();
List<AudioFileMeta> results = Database.SearchEntries("fireball").ToList();
Assert.Single(results);
}
finally
@@ -269,14 +269,14 @@ public class DatabaseTests
public void GetTotalCount_ShouldRespectSearchFilter()
{
Database.InitializeDatabase();
var meta = CreateSampleMeta();
var uniqueTag = $"UNIQUE_TAG_{meta.UniqueId[..8]}";
AudioFileMeta meta = CreateSampleMeta();
string uniqueTag = $"UNIQUE_TAG_{meta.UniqueId[..8]}";
meta.Description = uniqueTag;
Database.AddEntry(meta);
try
{
var count = Database.GetTotalCount(searchText: uniqueTag);
int count = Database.GetTotalCount(searchText: uniqueTag);
Assert.Equal(1, count);
}
finally
@@ -289,11 +289,11 @@ public class DatabaseTests
public void AddEntries_ShouldReturnCorrectCount()
{
Database.InitializeDatabase();
var entries = Enumerable.Range(0, 3).Select(_ => CreateSampleMeta()).ToList();
List<AudioFileMeta> entries = Enumerable.Range(0, 3).Select(_ => CreateSampleMeta()).ToList();
try
{
var count = Database.AddEntries(entries);
int count = Database.AddEntries(entries);
Assert.Equal(3, count);
}
finally
+8 -8
View File
@@ -6,7 +6,7 @@ namespace Core.Tests;
public class IntegratedTest
{
private static readonly string _dataSourceRoot = "/Volumes/Library/Boom Library/Boom Library - Alien Life/Alien_Life_DS";
private static readonly string _dataSourceRoot = "/Volumes/Library/Boom Library/Boom Library - Alien Life";
private static string GetWavDir(string vendor)
{
@@ -19,9 +19,9 @@ public class IntegratedTest
private static void DeleteTestEntries(params string[] uniqueIds)
{
using var conn = new SQLiteConnection($"Data Source={GetDefaultDbPath()};Version=3;");
using SQLiteConnection conn = new($"Data Source={GetDefaultDbPath()};Version=3;");
conn.Open();
foreach (var uid in uniqueIds)
foreach (string uid in uniqueIds)
conn.Execute("DELETE FROM audio_files WHERE unique_id = @UniqueId", new { UniqueId = uid });
}
@@ -34,8 +34,8 @@ public class IntegratedTest
return;
}
var scanner = new AudioFileScanner();
var reader = new AudioMetadataReader();
AudioFileScanner scanner = new();
AudioMetadataReader reader = new();
string[] wavFiles = scanner.ScanDirectory(sourceDir, recursive: true)
.Where(f => f.EndsWith(".wav", StringComparison.OrdinalIgnoreCase))
.ToArray();
@@ -45,7 +45,7 @@ public class IntegratedTest
return;
}
var metaList = wavFiles.Select(f => reader.ReadMetadata(new FileInfo(f))).ToList();
List<AudioFileMeta> metaList = wavFiles.Select(f => reader.ReadMetadata(new FileInfo(f))).ToList();
Database.InitializeDatabase();
int insertedCount = Database.AddEntries(metaList);
@@ -54,9 +54,9 @@ public class IntegratedTest
{
Assert.Equal(wavFiles.Length, insertedCount);
foreach (var meta in metaList)
foreach (AudioFileMeta meta in metaList)
{
var retrieved = Database.GetEntryByUniqueId(meta.UniqueId);
AudioFileMeta? retrieved = Database.GetEntryByUniqueId(meta.UniqueId);
Assert.NotNull(retrieved);
Assert.Equal(meta.Md5, retrieved!.Md5);
+1 -1
View File
@@ -42,7 +42,7 @@ public class AudioFileScanner
return false;
}
var extension = Path.GetExtension(filePath).ToLowerInvariant();
string extension = Path.GetExtension(filePath).ToLowerInvariant();
return SupportedExtensions.Contains(extension);
}
}
+28 -28
View File
@@ -26,7 +26,7 @@ public static class Database
/// </summary>
public static void InitializeDatabase(string databaseName = "default")
{
using var connection = GetConnection(databaseName);
using IDbConnection connection = GetConnection(databaseName);
connection.Open();
const string sql = """
@@ -131,7 +131,7 @@ public static class Database
{
try
{
using var connection = GetConnection();
using IDbConnection connection = GetConnection();
connection.Open();
const string sql = @"
@@ -183,11 +183,11 @@ public static class Database
/// <returns>成功添加的记录数</returns>
public static int AddEntries(IEnumerable<AudioFileMeta> entries)
{
var count = 0;
using var connection = GetConnection();
int count = 0;
using IDbConnection connection = GetConnection();
connection.Open();
using var transaction = connection.BeginTransaction();
using IDbTransaction transaction = connection.BeginTransaction();
try
{
const string sql = @"
@@ -222,7 +222,7 @@ public static class Database
);
";
foreach (var entry in entries)
foreach (AudioFileMeta entry in entries)
{
connection.Execute(sql, entry, transaction);
count++;
@@ -247,7 +247,7 @@ public static class Database
/// <returns>是否存在</returns>
public static bool EntryExists(string md5, string filePath)
{
using var connection = GetConnection();
using IDbConnection connection = GetConnection();
connection.Open();
const string sql = @"
@@ -255,7 +255,7 @@ public static class Database
WHERE md5 = @Md5 OR path = @Path;
";
var count = connection.ExecuteScalar<int>(sql, new { Md5 = md5, Path = filePath });
int count = connection.ExecuteScalar<int>(sql, new { Md5 = md5, Path = filePath });
return count > 0;
}
@@ -306,7 +306,7 @@ public static class Database
/// </summary>
public static AudioFileMeta? GetEntryById(int id)
{
using var connection = GetConnection();
using IDbConnection connection = GetConnection();
connection.Open();
const string sql = $"SELECT {DetailSelectColumns} FROM audio_files WHERE id = @Id;";
@@ -319,7 +319,7 @@ public static class Database
/// </summary>
public static AudioFileMeta? GetEntryByUniqueId(string uniqueId)
{
using var connection = GetConnection();
using IDbConnection connection = GetConnection();
connection.Open();
const string sql = $"SELECT {DetailSelectColumns} FROM audio_files WHERE unique_id = @UniqueId;";
@@ -342,11 +342,11 @@ public static class Database
int limit = 100,
int offset = 0)
{
using var connection = GetConnection();
using IDbConnection connection = GetConnection();
connection.Open();
var where = new List<string>();
var parameters = new DynamicParameters();
List<string> where = new();
DynamicParameters parameters = new();
if (!string.IsNullOrWhiteSpace(searchText))
{
@@ -379,22 +379,22 @@ public static class Database
parameters.Add("@Category", category);
}
var whereClause = where.Count > 0 ? "WHERE " + string.Join(" AND ", where) : "";
string whereClause = where.Count > 0 ? "WHERE " + string.Join(" AND ", where) : "";
var orderBy = "ORDER BY date_added DESC";
string orderBy = "ORDER BY date_added DESC";
if (!string.IsNullOrWhiteSpace(sortBy) && AllowedSortColumns.Contains(sortBy))
{
var dir = sortDescending ? "DESC" : "ASC";
string dir = sortDescending ? "DESC" : "ASC";
orderBy = $"ORDER BY [{sortBy}] {dir}";
}
var sql = $"""
SELECT {ListSelectColumns}
FROM audio_files
{whereClause}
{orderBy}
LIMIT @Limit OFFSET @Offset;
""";
string sql = $"""
SELECT {ListSelectColumns}
FROM audio_files
{whereClause}
{orderBy}
LIMIT @Limit OFFSET @Offset;
""";
parameters.Add("@Limit", limit);
parameters.Add("@Offset", offset);
@@ -421,11 +421,11 @@ public static class Database
int? channels = null,
string? category = null)
{
using var connection = GetConnection();
using IDbConnection connection = GetConnection();
connection.Open();
var where = new List<string>();
var parameters = new DynamicParameters();
List<string> where = new();
DynamicParameters parameters = new();
if (!string.IsNullOrWhiteSpace(searchText))
{
@@ -458,8 +458,8 @@ public static class Database
parameters.Add("@Category", category);
}
var whereClause = where.Count > 0 ? "WHERE " + string.Join(" AND ", where) : "";
var sql = $"SELECT COUNT(*) FROM audio_files {whereClause};";
string whereClause = where.Count > 0 ? "WHERE " + string.Join(" AND ", where) : "";
string sql = $"SELECT COUNT(*) FROM audio_files {whereClause};";
return connection.ExecuteScalar<int>(sql, parameters);
}