1 using System;
2 using NUnit.Framework;
3 using Premake.Tests.Framework;
4 
5 namespace Premake.Tests.Vs2002.Cpp
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 Vs2002Parser();
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.lib", "lib2.lib" };
38 			_expects.Package[0].Config[1].Links = new string[] { "lib1.lib", "lib2.lib" };
39 			Run();
40 		}
41 
42 		[Test]
Test_LinksOnPackageConfig()43 		public void Test_LinksOnPackageConfig()
44 		{
45 			_script.Append("package.config['Debug'].links = { 'lib1-d' }");
46 			_script.Append("package.config['Release'].links = { 'lib1' }");
47 			_expects.Package[0].Config[0].Links = new string[] { "lib1-d.lib" };
48 			_expects.Package[0].Config[1].Links = new string[] { "lib1.lib" };
49 			Run();
50 		}
51 
52 		[Test]
Test_LinksOnPackageAndConfig()53 		public void Test_LinksOnPackageAndConfig()
54 		{
55 			_script.Append("package.links = { 'pkglib' }");
56 			_script.Append("package.config['Debug'].links = { 'liba-d' }");
57 			_script.Append("package.config['Release'].links = { 'liba' }");
58 			_expects.Package[0].Config[0].Links = new string[] { "pkglib.lib", "liba-d.lib" };
59 			_expects.Package[0].Config[1].Links = new string[] { "pkglib.lib", "liba.lib" };
60 			Run();
61 		}
62 
63 	}
64 }
65