2026-02-06 20:33:22 +08:00
|
|
|
using System;
|
2026-02-06 22:07:35 +08:00
|
|
|
using System.IO;
|
2026-02-06 20:33:22 +08:00
|
|
|
using System.Text;
|
|
|
|
|
using BMapSharp;
|
|
|
|
|
|
|
|
|
|
namespace BMapSharpTest {
|
|
|
|
|
internal class Program {
|
|
|
|
|
|
2026-02-06 22:07:35 +08:00
|
|
|
static int Main(string[] args) {
|
2026-02-06 20:33:22 +08:00
|
|
|
// Parse arguments
|
2026-02-06 22:07:35 +08:00
|
|
|
Cli cli;
|
2026-02-06 20:33:22 +08:00
|
|
|
try {
|
2026-02-06 22:07:35 +08:00
|
|
|
cli = new Cli();
|
2026-02-06 20:33:22 +08:00
|
|
|
} catch (CliException e) {
|
|
|
|
|
Console.WriteLine($"Can not launch test. Reason: {e.Message}");
|
2026-02-06 22:07:35 +08:00
|
|
|
return 2;
|
2026-02-06 20:33:22 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check console encoding.
|
|
|
|
|
Console.OutputEncoding = Encoding.UTF8;
|
|
|
|
|
// Check BMap status.
|
|
|
|
|
if (!BMapSharp.BMapWrapper.Utils.IsBMapAvailable()) {
|
|
|
|
|
Console.WriteLine("Fail to initialize native BMap.");
|
2026-02-06 22:07:35 +08:00
|
|
|
return 1;
|
2026-02-06 20:33:22 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Waiting debugger
|
|
|
|
|
int pid = System.Diagnostics.Process.GetCurrentProcess().Id;
|
|
|
|
|
Console.WriteLine($"C# PID is {pid}. Waiting debugger, press any key to continue...");
|
|
|
|
|
Console.ReadKey(true);
|
|
|
|
|
|
|
|
|
|
// Start testbench
|
2026-02-06 22:07:35 +08:00
|
|
|
string file_name = cli.FileName;
|
|
|
|
|
var temp_dir_info = Directory.CreateTempSubdirectory();
|
|
|
|
|
string temp_dir = temp_dir_info.FullName;
|
2026-02-08 11:38:48 +08:00
|
|
|
string texture_dir = Path.Combine(cli.BallanceDir, "Textures");
|
2026-02-06 22:07:35 +08:00
|
|
|
string[] encodings = cli.Encodings;
|
2026-02-06 20:33:22 +08:00
|
|
|
|
2026-02-06 22:07:35 +08:00
|
|
|
using (var reader = new BMapSharp.BMapWrapper.BMFileReader(file_name, temp_dir, texture_dir, encodings)) {
|
2026-02-06 20:33:22 +08:00
|
|
|
TestSuits.TestCommon.Test(reader);
|
|
|
|
|
TestSuits.TestIEquatable.Test(reader);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("Press any key to quit...");
|
|
|
|
|
Console.ReadKey(true);
|
2026-02-06 22:07:35 +08:00
|
|
|
return 0;
|
2026-02-06 20:33:22 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|