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_Dependencies
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(2);
22 			_expects.Package[0].Config.Add(2);
23 			_expects.Package[1].Config.Add(2);
24 
25 			_parser = new Vs2002Parser();
26 		}
27 
Run()28 		public void Run()
29 		{
30 			TestEnvironment.Run(_script, _parser, _expects, null);
31 		}
32 		#endregion
33 
34 		[Test]
Test_ExeAndDll()35 		public void Test_ExeAndDll()
36 		{
37 			_script.Append("package.links = { 'PackageB' }");
38 			_script.Append("package = newpackage()");
39 			_script.Append("package.name = 'PackageB'");
40 			_script.Append("package.kind = 'dll'");
41 			_script.Append("package.language = 'c++'");
42 			_script.Append("package.files = matchfiles('*.cpp')");
43 
44 			_expects.Package[0].Config[0].Dependencies = new string[]{ "PackageB" };
45 			_expects.Package[0].Config[1].Dependencies = new string[]{ "PackageB" };
46 
47 			Run();
48 		}
49 
50 		[Test]
Test_ExeAndLib()51 		public void Test_ExeAndLib()
52 		{
53 			_script.Append("package.links = { 'PackageB' }");
54 			_script.Append("package = newpackage()");
55 			_script.Append("package.name = 'PackageB'");
56 			_script.Append("package.kind = 'lib'");
57 			_script.Append("package.language = 'c++'");
58 			_script.Append("package.files = matchfiles('*.cpp')");
59 
60 			_expects.Package[0].Config[0].Dependencies = new string[]{ "PackageB" };
61 			_expects.Package[0].Config[1].Dependencies = new string[]{ "PackageB" };
62 
63 			Run();
64 		}
65 	}
66 }
67