1 using System; 2 using NUnit.Framework; 3 using Premake.Tests.Framework; 4 5 namespace Premake.Tests.Vs2002.Cs 6 { 7 [TestFixture] 8 public class Test_Defines 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_NoDefines()34 public void Test_NoDefines() 35 { 36 _expects.Package[0].Config[0].Defines = new string[] { }; 37 _expects.Package[0].Config[1].Defines = new string[] { }; 38 Run(); 39 } 40 41 [Test] Test_DefinesOnPackage()42 public void Test_DefinesOnPackage() 43 { 44 _script.Append("package.defines = { 'TRACE', 'EXPORT' }"); 45 _expects.Package[0].Config[0].Defines = new string[] { "TRACE", "EXPORT" }; 46 _expects.Package[0].Config[1].Defines = new string[] { "TRACE", "EXPORT" }; 47 Run(); 48 } 49 50 [Test] Test_DefinesInPackageConfig()51 public void Test_DefinesInPackageConfig() 52 { 53 _script.Append("package.config['Debug'].defines = { 'DEBUG' }"); 54 _script.Append("package.config['Release'].defines = { 'NDEBUG' }"); 55 _expects.Package[0].Config[0].Defines = new string[] { "DEBUG" }; 56 _expects.Package[0].Config[1].Defines = new string[] { "NDEBUG" }; 57 Run(); 58 } 59 60 [Test] Test_DefinesOnPackageAndConfig()61 public void Test_DefinesOnPackageAndConfig() 62 { 63 _script.Append("package.defines = { 'TRACE' }"); 64 _script.Append("package.config['Debug'].defines = { 'DEBUG' }"); 65 _script.Append("package.config['Release'].defines = { 'NDEBUG' }"); 66 _expects.Package[0].Config[0].Defines = new string[] { "TRACE", "DEBUG" }; 67 _expects.Package[0].Config[1].Defines = new string[] { "TRACE", "NDEBUG" }; 68 Run(); 69 } 70 } 71 } 72