1 using System;
2 using NUnit.Framework;
3 using Premake.Tests.Framework;
4 
5 namespace Premake.Tests.Gnu.Cs
6 {
7 	[TestFixture]
8 	public class Test_Links
9 	{
10 		Script  _script;
11 		Project _expects;
12 		Parser  _parser;
13 
14 		#region Setup and Teardown
15 		[SetUp]
Test_Setup()16 		public void Test_Setup()
17 		{
18 			_script = Script.MakeBasic("exe", "c#");
19 
20 			_expects = new Project();
21 			_expects.Package.Add(1);
22 			_expects.Package[0].Config.Add(2);
23 
24 			_parser = new GnuParser();
25 		}
26 
Run()27 		public void Run()
28 		{
29 			TestEnvironment.Run(_script, _parser, _expects, null);
30 		}
31 		#endregion
32 
33 		[Test]
Test_LinksOnPackage()34 		public void Test_LinksOnPackage()
35 		{
36 			_script.Append("package.links = { 'lib1', 'lib2' }");
37 			_expects.Package[0].Config[0].Links = new string[] { "lib1.dll", "lib2.dll" };
38 			_expects.Package[0].Config[1].Links = new string[] { "lib1.dll", "lib2.dll" };
39 			Run();
40 		}
41 
42 		[Test]
Test_LinksOnPackageConfig()43 		public void Test_LinksOnPackageConfig()
44 		{
45 			/* .NET uses same assemblies for all configs */
46 			_script.Append("package.config['Debug'].links = { 'lib1-d' }");
47 			_script.Append("package.config['Release'].links = { 'lib1' }");
48 			_expects.Package[0].Config[0].Links = new string[] { "lib1-d.dll" };
49 			_expects.Package[0].Config[1].Links = new string[] { "lib1-d.dll" };
50 			Run();
51 		}
52 
53 		[Test]
Test_LinksOnPackageAndConfig()54 		public void Test_LinksOnPackageAndConfig()
55 		{
56 			/* .NET uses same assemblies for all configs */
57 			_script.Append("package.links = { 'pkglib' }");
58 			_script.Append("package.config['Debug'].links = { 'liba-d' }");
59 			_script.Append("package.config['Release'].links = { 'liba' }");
60 			_expects.Package[0].Config[0].Links = new string[] { "pkglib.dll", "liba-d.dll" };
61 			_expects.Package[0].Config[1].Links = new string[] { "pkglib.dll", "liba-d.dll" };
62 			Run();
63 		}
64 
65 	}
66 }
67