2004-01-19 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / nunit20 / util / AssemblyListItem.cs
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
3 '
4 ' Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright  2000-2002 Philip A. Craig
6 '
7 ' This software is provided 'as-is', without any express or implied warranty. In no 
8 ' event will the authors be held liable for any damages arising from the use of this 
9 ' software.
10
11 ' Permission is granted to anyone to use this software for any purpose, including 
12 ' commercial applications, and to alter it and redistribute it freely, subject to the 
13 ' following restrictions:
14 '
15 ' 1. The origin of this software must not be misrepresented; you must not claim that 
16 ' you wrote the original software. If you use this software in a product, an 
17 ' acknowledgment (see the following) in the product documentation is required.
18 '
19 ' Portions Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright  2000-2002 Philip A. Craig
21 '
22 ' 2. Altered source versions must be plainly marked as such, and must not be 
23 ' misrepresented as being the original software.
24 '
25 ' 3. This notice may not be removed or altered from any source distribution.
26 '
27 '***********************************************************************************/
28 #endregion
29
30 using System;
31 using System.IO;
32
33 namespace NUnit.Util
34 {
35         /// <summary>
36         /// Holds an absolute assembly path and a flag that
37         /// indicates if the assembly is a test assembly.
38         /// </summary>
39         public class AssemblyListItem
40         {
41                 private string path;
42                 private bool hasTests;
43                 private ProjectConfig config;
44
45                 public AssemblyListItem( ProjectConfig config, string path, bool hasTests )
46                 {
47                         if ( !Path.IsPathRooted( path ) )
48                                 throw new ArgumentException( "Assembly path must be absolute" );
49
50                         this.config = config;
51                         this.path = path;
52                         this.hasTests = hasTests;
53                 }
54
55                 public string FullPath
56                 {
57                         get { return path; }
58                         set 
59                         { 
60                                 path = value;
61                                 config.IsDirty = true;
62                         }
63                 }
64
65                 public bool HasTests
66                 {
67                         get { return hasTests; }
68                         set 
69                         {
70                                 hasTests = value; 
71                                 config.IsDirty = true;
72                         }
73                 }
74         }
75 }