public void Success_GetOne(string packageName, string packageVersion) { string pak; var configName = AppDomain.CurrentDomain.BaseDirectory.Split('\\').Last(); if (string.IsNullOrEmpty(packageVersion)) { pak = new NugetPackageRetriever(new[] { Path.Combine(AppDomain.CurrentDomain.BaseDirectory, NugetPackageLocation, configName) }).Retrieve( _basePath, packageName); } else { pak = new NugetPackageRetriever(new[] { Path.Combine(AppDomain.CurrentDomain.BaseDirectory, NugetPackageLocation, configName) }).Retrieve( _basePath, packageName, new SemanticVersion(packageVersion)); } Assert.True(!string.IsNullOrEmpty(pak) && pak == Path.Combine(_basePath, "Impromptu.Tests.Something.1.0.0")); }
public void Should_Successfully_Instantiate_Multithreaded() { var configName = AppDomain.CurrentDomain.BaseDirectory.Split('\\').Last(); var fp = new NugetPackageRetriever(new[] { Path.Combine(AppDomain.CurrentDomain.BaseDirectory, NugetPackageLocation, configName) }); var ha = new InstantiatorFactory <ISomething>(fp); var tasks = new List <Task>(); var start = DateTime.Now; for (var i = 0; i < 1000000; i++) { tasks.Add(Task.Run(() => { var z = ha.Instantiate(new InstantiatorKey("Impromptu.Tests.Something", "1.0.0", "Impromptu.Tests.Something1")); var x = z.DoSomething(); })); } Task.WaitAll(tasks.ToArray()); var elapsed = DateTime.Now.Subtract(start).TotalMilliseconds; _output.WriteLine($"Total elapsed {elapsed} ms."); }
public void Should_Pass_One() { var configName = AppDomain.CurrentDomain.BaseDirectory.Split('\\').Last(); var fp = new NugetPackageRetriever(new[] { Path.Combine(AppDomain.CurrentDomain.BaseDirectory, NugetPackageLocation, configName) }); var ha = new InstantiatorFactory <ISomething>(fp); var z = ha.Instantiate(new InstantiatorKey("Impromptu.Tests.Something", "1.0.0", "Impromptu.Tests.Something1")); var x = z.DoSomething(); var z1 = ha.Instantiate(new InstantiatorKey("Impromptu.Tests.Something", "1.0.0", "Impromptu.Tests.Something2")); var x1 = z1.DoSomething(); }
public void Should_Fail_No_Ctor() { var configName = AppDomain.CurrentDomain.BaseDirectory.Split('\\').Last(); var fp = new NugetPackageRetriever(new[] { Path.Combine(AppDomain.CurrentDomain.BaseDirectory, NugetPackageLocation, configName) }); var ha = new InstantiatorFactory <ISomething>(fp); Exception ex = Assert.Throws <InstantiatorException>(() => { var z = ha.Instantiate( new InstantiatorKey("Impromptu.Tests.Something", "1.0.0", "Impromptu.Tests.Something1"), 100); } ); Assert.Equal(ex.GetType(), typeof(InstantiatorException)); }
public void Should_Successfully_Instantiate() { var configName = AppDomain.CurrentDomain.BaseDirectory.Split('\\').Last(); var fp = new NugetPackageRetriever(new[] { Path.Combine(AppDomain.CurrentDomain.BaseDirectory, NugetPackageLocation, configName) }); var ha = new InstantiatorFactory <ISomething>(fp, _basePath); { // let it jit compile var z = ha.Instantiate(new InstantiatorKey("Impromptu.Tests.Something", "1.0.0", "Impromptu.Tests.Something1")); } var start = DateTime.Now; for (var i = 0; i < 1000000; i++) { var z = ha.Instantiate(new InstantiatorKey("Impromptu.Tests.Something", "1.0.0", "Impromptu.Tests.Something1")); var x = z.DoSomething(); } var elapsed = DateTime.Now.Subtract(start).TotalMilliseconds; _output.WriteLine($"Total elapsed {elapsed} ms."); }