using System;
using System.IO;
using System.Reflection;

internal static class Program
{
    private static int Main(string[] args)
    {
        if (args.Length == 0 || string.IsNullOrWhiteSpace(args[0]))
        {
            Console.Error.WriteLine("Nexamas UI assembly path was not supplied.");
            return 2;
        }

        string assemblyPath = Path.GetFullPath(args[0]);
        if (!File.Exists(assemblyPath))
        {
            Console.Error.WriteLine("Nexamas UI assembly was not found: " + assemblyPath);
            return 3;
        }

        Assembly assembly = Assembly.LoadFrom(assemblyPath);
        AssemblyName name = assembly.GetName();
        if (!string.Equals(name.Name, "Nexamas.UI", StringComparison.OrdinalIgnoreCase))
        {
            Console.Error.WriteLine("Unexpected assembly name: " + name.Name);
            return 4;
        }

        Console.WriteLine("Nexamas UI SDK harness PASS: " + name.FullName);
        return 0;
    }
}
