Author: apadilla
Date: Wed Oct 20 05:14:10 2010
New Revision: 1024525

URL: http://svn.apache.org/viewvc?rev=1024525&view=rev
Log:
[NPANDAY-328] - added integration test for VS2010 MVC Project

Added:
    
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/NPandayIT330MVC2010ProjectTest.java
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/App_Data/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Content/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Content/Site.css
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/AccountController.cs
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/HomeController.cs
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax.cs
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Models/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Models/AccountModels.cs
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest.csproj
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Properties/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Properties/AssemblyInfo.cs
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/MicrosoftAjax.debug.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/MicrosoftAjax.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/MicrosoftMvcAjax.debug.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/MicrosoftMvcAjax.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/MicrosoftMvcValidation.debug.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/MicrosoftMvcValidation.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/jquery-1.4.1-vsdoc.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/jquery-1.4.1.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/jquery-1.4.1.min.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/jquery.validate-vsdoc.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/jquery.validate.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Scripts/jquery.validate.min.js
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Account/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Account/ChangePassword.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Account/ChangePasswordSuccess.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Account/LogOn.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Account/Register.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Home/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Home/About.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Home/Index.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Shared/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Shared/Error.aspx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Shared/LogOnUserControl.ascx
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Shared/Site.Master
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Views/Web.config
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Web
 References/
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Web.config
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/pom.xml
    
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/pom.xml
Modified:
    
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/IntegrationTestSuite.java

Modified: 
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/IntegrationTestSuite.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/IntegrationTestSuite.java?rev=1024525&r1=1024524&r2=1024525&view=diff
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/IntegrationTestSuite.java
 (original)
+++ 
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/IntegrationTestSuite.java
 Wed Oct 20 05:14:10 2010
@@ -46,6 +46,7 @@ public class IntegrationTestSuite
         // suite.addTestSuite( NPandayIT0002NetModuleDependencyTest.class ); 
// issue #11729
         // suite.addTestSuite( 
NPandayIT0003NetModuleTransitiveDependencyTest.class ); // issue #11729
 
+               suite.addTestSuite( NPandayIT330MVC2010ProjectTest.class );
                suite.addTestSuite( NPandayITNet40Test.class );
         suite.addTestSuite( NPandayIT13635SnapshotUpdatesTest.class );
         suite.addTestSuite( NPandayIT13542OptionInferTest.class );

Added: 
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/NPandayIT330MVC2010ProjectTest.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/NPandayIT330MVC2010ProjectTest.java?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/NPandayIT330MVC2010ProjectTest.java
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/java/npanday/its/NPandayIT330MVC2010ProjectTest.java
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,56 @@
+package npanday.its;
+
+/*
+ * Copyright 2010
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+
+public class NPandayIT330MVC2010ProjectTest
+    extends AbstractNPandayIntegrationTestCase
+{
+    public NPandayIT330MVC2010ProjectTest()
+    {
+        super( "[1.2,)", "[v4.0.30319,)" ); 
+
+        File f = new File( System.getenv( "SYSTEMROOT" ), 
"assembly/GAC_MSIL/System.Web.MVC" );
+        if ( !f.exists() || !f.isDirectory() )
+        {
+            skipReason = "MVC.NET is not installed";
+            skip = true;
+        }
+    }
+
+    public void testMVC2010Project()
+        throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), 
"/NPanday330MVC2010ProjectTest" );
+        Verifier verifier = getVerifier( testDir );
+        verifier.executeGoal( "install" );
+                       
+               String assembly = new File( testDir + 
"/NPanday330MVC2010ProjectTest",
+            getAssemblyFile( "NPanday330MVC2010ProjectTest", "1.0.0.0", "dll" 
) ).getAbsolutePath();
+        verifier.assertFilePresent( assembly );
+               
+               assertClassPresent( assembly, 
"NPanday330MVC2010ProjectTest.Controllers.AccountController" );
+        assertClassPresent( assembly, 
"NPanday330MVC2010ProjectTest.Controllers.HomeController" );
+        assertClassPresent( assembly, 
"NPanday330MVC2010ProjectTest.MvcApplication" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+    }
+}

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Content/Site.css
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Content/Site.css?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Content/Site.css
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Content/Site.css
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,344 @@
+/*----------------------------------------------------------
+The base color for this template is #5c87b2. If you'd like
+to use a different color start by replacing all instances of
+#5c87b2 with your new color.
+----------------------------------------------------------*/
+body
+{
+    background-color: #5c87b2;
+    font-size: .75em;
+    font-family: Verdana, Helvetica, Sans-Serif;
+    margin: 0;
+    padding: 0;
+    color: #696969;
+}
+
+a:link
+{
+    color: #034af3;
+    text-decoration: underline;
+}
+a:visited
+{
+    color: #505abc;
+}
+a:hover
+{
+    color: #1d60ff;
+    text-decoration: none;
+}
+a:active
+{
+    color: #12eb87;
+}
+
+p, ul
+{
+    margin-bottom: 20px;
+    line-height: 1.6em;
+}
+
+/* HEADINGS   
+----------------------------------------------------------*/
+h1, h2, h3, h4, h5, h6
+{
+    font-size: 1.5em;
+    color: #000;
+    font-family: Arial, Helvetica, sans-serif;
+}
+
+h1
+{
+    font-size: 2em;
+    padding-bottom: 0;
+    margin-bottom: 0;
+}
+h2
+{
+    padding: 0 0 10px 0;
+}
+h3
+{
+    font-size: 1.2em;
+}
+h4
+{
+    font-size: 1.1em;
+}
+h5, h6
+{
+    font-size: 1em;
+}
+
+/* this rule styles <h2> tags that are the 
+first child of the left and right table columns */
+.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
+{
+    margin-top: 0;
+}
+
+/* PRIMARY LAYOUT ELEMENTS   
+----------------------------------------------------------*/
+
+/* you can specify a greater or lesser percentage for the 
+page width. Or, you can specify an exact pixel width. */
+.page
+{
+    width: 90%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+#header
+{
+    position: relative;
+    margin-bottom: 0px;
+    color: #000;
+    padding: 0;
+}
+
+#header h1
+{
+    font-weight: bold;
+    padding: 5px 0;
+    margin: 0;
+    color: #fff;
+    border: none;
+    line-height: 2em;
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: 32px !important;
+}
+
+#main
+{
+    padding: 30px 30px 15px 30px;
+    background-color: #fff;
+    margin-bottom: 30px;
+    _height: 1px; /* only IE6 applies CSS properties starting with an 
underscore */
+}
+
+#footer
+{
+    color: #999;
+    padding: 10px 0;
+    text-align: center;
+    line-height: normal;
+    margin: 0;
+    font-size: .9em;
+}
+
+/* TAB MENU   
+----------------------------------------------------------*/
+ul#menu
+{
+    border-bottom: 1px #5C87B2 solid;
+    padding: 0 0 2px;
+    position: relative;
+    margin: 0;
+    text-align: right;
+}
+
+ul#menu li
+{
+    display: inline;
+    list-style: none;
+}
+
+ul#menu li#greeting
+{
+    padding: 10px 20px;
+    font-weight: bold;
+    text-decoration: none;
+    line-height: 2.8em;
+    color: #fff;
+}
+
+ul#menu li a
+{
+    padding: 10px 20px;
+    font-weight: bold;
+    text-decoration: none;
+    line-height: 2.8em;
+    background-color: #e8eef4;
+    color: #034af3;
+}
+
+ul#menu li a:hover
+{
+    background-color: #fff;
+    text-decoration: none;
+}
+
+ul#menu li a:active
+{
+    background-color: #a6e2a6;
+    text-decoration: none;
+}
+
+ul#menu li.selected a
+{
+    background-color: #fff;
+    color: #000;
+}
+
+/* FORM LAYOUT ELEMENTS   
+----------------------------------------------------------*/
+
+fieldset 
+{
+    margin: 1em 0;
+    padding: 1em;
+    border: 1px solid #CCC;
+}
+
+fieldset p 
+{
+    margin: 2px 12px 10px 10px;
+}
+
+legend 
+{
+    font-size: 1.1em;
+    font-weight: 600;
+    padding: 2px 4px 8px 4px;
+}
+
+input[type="text"] 
+{
+    width: 200px;
+    border: 1px solid #CCC;
+}
+
+input[type="password"] 
+{
+    width: 200px;
+    border: 1px solid #CCC;
+}
+
+/* TABLE
+----------------------------------------------------------*/
+
+table 
+{
+  border: solid 1px #e8eef4;
+  border-collapse: collapse;
+}
+
+table td 
+{
+  padding: 5px;   
+  border: solid 1px #e8eef4;
+}
+
+table th
+{
+  padding: 6px 5px;
+  text-align: left;
+  background-color: #e8eef4; 
+  border: solid 1px #e8eef4;   
+}
+
+/* MISC  
+----------------------------------------------------------*/
+.clear
+{
+    clear: both;
+}
+
+.error
+{
+    color:Red;
+}
+
+#menucontainer
+{
+    margin-top:40px;
+}
+
+div#title
+{
+    display:block;
+    float:left;
+    text-align:left;
+}
+
+#logindisplay
+{
+    font-size:1.1em;
+    display:block;
+    text-align:right;
+    margin:10px;
+    color:White;
+}
+
+#logindisplay a:link
+{
+    color: white;
+    text-decoration: underline;
+}
+
+#logindisplay a:visited
+{
+    color: white;
+    text-decoration: underline;
+}
+
+#logindisplay a:hover
+{
+    color: white;
+    text-decoration: none;
+}
+
+/* Styles for validation helpers
+-----------------------------------------------------------*/
+.field-validation-error
+{
+    color: #ff0000;
+}
+
+.field-validation-valid
+{
+    display: none;
+}
+
+.input-validation-error
+{
+    border: 1px solid #ff0000;
+    background-color: #ffeeee;
+}
+
+.validation-summary-errors
+{
+    font-weight: bold;
+    color: #ff0000;
+}
+
+.validation-summary-valid
+{
+    display: none;
+}
+
+/* Styles for editor and display helpers
+----------------------------------------------------------*/
+.display-label,
+.editor-label,
+.display-field,
+.editor-field
+{
+    margin: 0.5em 0;
+}
+
+.text-box
+{
+    width: 30em;
+}
+
+.text-box.multi-line
+{
+    height: 6.5em;
+}
+
+.tri-state
+{
+    width: 6em;
+}

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/AccountController.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/AccountController.cs?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/AccountController.cs
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/AccountController.cs
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,153 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Linq;
+using System.Security.Principal;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Routing;
+using System.Web.Security;
+using NPanday330MVC2010ProjectTest.Models;
+
+namespace NPanday330MVC2010ProjectTest.Controllers
+{
+
+    [HandleError]
+    public class AccountController : Controller
+    {
+
+        public IFormsAuthenticationService FormsService { get; set; }
+        public IMembershipService MembershipService { get; set; }
+
+        protected override void Initialize(RequestContext requestContext)
+        {
+            if (FormsService == null) { FormsService = new 
FormsAuthenticationService(); }
+            if (MembershipService == null) { MembershipService = new 
AccountMembershipService(); }
+
+            base.Initialize(requestContext);
+        }
+
+        // **************************************
+        // URL: /Account/LogOn
+        // **************************************
+
+        public ActionResult LogOn()
+        {
+            return View();
+        }
+
+        [HttpPost]
+        public ActionResult LogOn(LogOnModel model, string returnUrl)
+        {
+            if (ModelState.IsValid)
+            {
+                if (MembershipService.ValidateUser(model.UserName, 
model.Password))
+                {
+                    FormsService.SignIn(model.UserName, model.RememberMe);
+                    if (!String.IsNullOrEmpty(returnUrl))
+                    {
+                        return Redirect(returnUrl);
+                    }
+                    else
+                    {
+                        return RedirectToAction("Index", "Home");
+                    }
+                }
+                else
+                {
+                    ModelState.AddModelError("", "The user name or password 
provided is incorrect.");
+                }
+            }
+
+            // If we got this far, something failed, redisplay form
+            return View(model);
+        }
+
+        // **************************************
+        // URL: /Account/LogOff
+        // **************************************
+
+        public ActionResult LogOff()
+        {
+            FormsService.SignOut();
+
+            return RedirectToAction("Index", "Home");
+        }
+
+        // **************************************
+        // URL: /Account/Register
+        // **************************************
+
+        public ActionResult Register()
+        {
+            ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
+            return View();
+        }
+
+        [HttpPost]
+        public ActionResult Register(RegisterModel model)
+        {
+            if (ModelState.IsValid)
+            {
+                // Attempt to register the user
+                MembershipCreateStatus createStatus = 
MembershipService.CreateUser(model.UserName, model.Password, model.Email);
+
+                if (createStatus == MembershipCreateStatus.Success)
+                {
+                    FormsService.SignIn(model.UserName, false /* 
createPersistentCookie */);
+                    return RedirectToAction("Index", "Home");
+                }
+                else
+                {
+                    ModelState.AddModelError("", 
AccountValidation.ErrorCodeToString(createStatus));
+                }
+            }
+
+            // If we got this far, something failed, redisplay form
+            ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
+            return View(model);
+        }
+
+        // **************************************
+        // URL: /Account/ChangePassword
+        // **************************************
+
+        [Authorize]
+        public ActionResult ChangePassword()
+        {
+            ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
+            return View();
+        }
+
+        [Authorize]
+        [HttpPost]
+        public ActionResult ChangePassword(ChangePasswordModel model)
+        {
+            if (ModelState.IsValid)
+            {
+                if (MembershipService.ChangePassword(User.Identity.Name, 
model.OldPassword, model.NewPassword))
+                {
+                    return RedirectToAction("ChangePasswordSuccess");
+                }
+                else
+                {
+                    ModelState.AddModelError("", "The current password is 
incorrect or the new password is invalid.");
+                }
+            }
+
+            // If we got this far, something failed, redisplay form
+            ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
+            return View(model);
+        }
+
+        // **************************************
+        // URL: /Account/ChangePasswordSuccess
+        // **************************************
+
+        public ActionResult ChangePasswordSuccess()
+        {
+            return View();
+        }
+
+    }
+}

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/HomeController.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/HomeController.cs?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/HomeController.cs
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Controllers/HomeController.cs
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+
+namespace NPanday330MVC2010ProjectTest.Controllers
+{
+    [HandleError]
+    public class HomeController : Controller
+    {
+        public ActionResult Index()
+        {
+            ViewData["Message"] = "Welcome to ASP.NET MVC!";
+
+            return View();
+        }
+
+        public ActionResult About()
+        {
+            return View();
+        }
+    }
+}

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1 @@
+<%@ Application Codebehind="Global.asax.cs" 
Inherits="NPanday330MVC2010ProjectTest.MvcApplication" Language="C#" %>

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax.cs?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax.cs
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Global.asax.cs
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Routing;
+
+namespace NPanday330MVC2010ProjectTest
+{
+    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
+    // visit http://go.microsoft.com/?LinkId=9394801
+
+    public class MvcApplication : System.Web.HttpApplication
+    {
+        public static void RegisterRoutes(RouteCollection routes)
+        {
+            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
+
+            routes.MapRoute(
+                "Default", // Route name
+                "{controller}/{action}/{id}", // URL with parameters
+                new { controller = "Home", action = "Index", id = 
UrlParameter.Optional } // Parameter defaults
+            );
+
+        }
+
+        protected void Application_Start()
+        {
+            AreaRegistration.RegisterAllAreas();
+
+            RegisterRoutes(RouteTable.Routes);
+        }
+    }
+}
\ No newline at end of file

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Models/AccountModels.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Models/AccountModels.cs?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Models/AccountModels.cs
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Models/AccountModels.cs
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,283 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using System.Globalization;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Security;
+
+namespace NPanday330MVC2010ProjectTest.Models
+{
+
+    #region Models
+    [PropertiesMustMatch("NewPassword", "ConfirmPassword", ErrorMessage = "The 
new password and confirmation password do not match.")]
+    public class ChangePasswordModel
+    {
+        [Required]
+        [DataType(DataType.Password)]
+        [DisplayName("Current password")]
+        public string OldPassword { get; set; }
+
+        [Required]
+        [ValidatePasswordLength]
+        [DataType(DataType.Password)]
+        [DisplayName("New password")]
+        public string NewPassword { get; set; }
+
+        [Required]
+        [DataType(DataType.Password)]
+        [DisplayName("Confirm new password")]
+        public string ConfirmPassword { get; set; }
+    }
+
+    public class LogOnModel
+    {
+        [Required]
+        [DisplayName("User name")]
+        public string UserName { get; set; }
+
+        [Required]
+        [DataType(DataType.Password)]
+        [DisplayName("Password")]
+        public string Password { get; set; }
+
+        [DisplayName("Remember me?")]
+        public bool RememberMe { get; set; }
+    }
+
+    [PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The 
password and confirmation password do not match.")]
+    public class RegisterModel
+    {
+        [Required]
+        [DisplayName("User name")]
+        public string UserName { get; set; }
+
+        [Required]
+        [DataType(DataType.EmailAddress)]
+        [DisplayName("Email address")]
+        public string Email { get; set; }
+
+        [Required]
+        [ValidatePasswordLength]
+        [DataType(DataType.Password)]
+        [DisplayName("Password")]
+        public string Password { get; set; }
+
+        [Required]
+        [DataType(DataType.Password)]
+        [DisplayName("Confirm password")]
+        public string ConfirmPassword { get; set; }
+    }
+    #endregion
+
+    #region Services
+    // The FormsAuthentication type is sealed and contains static members, so 
it is difficult to
+    // unit test code that calls its members. The interface and helper class 
below demonstrate
+    // how to create an abstract wrapper around such a type in order to make 
the AccountController
+    // code unit testable.
+
+    public interface IMembershipService
+    {
+        int MinPasswordLength { get; }
+
+        bool ValidateUser(string userName, string password);
+        MembershipCreateStatus CreateUser(string userName, string password, 
string email);
+        bool ChangePassword(string userName, string oldPassword, string 
newPassword);
+    }
+
+    public class AccountMembershipService : IMembershipService
+    {
+        private readonly MembershipProvider _provider;
+
+        public AccountMembershipService()
+            : this(null)
+        {
+        }
+
+        public AccountMembershipService(MembershipProvider provider)
+        {
+            _provider = provider ?? Membership.Provider;
+        }
+
+        public int MinPasswordLength
+        {
+            get
+            {
+                return _provider.MinRequiredPasswordLength;
+            }
+        }
+
+        public bool ValidateUser(string userName, string password)
+        {
+            if (String.IsNullOrEmpty(userName)) throw new 
ArgumentException("Value cannot be null or empty.", "userName");
+            if (String.IsNullOrEmpty(password)) throw new 
ArgumentException("Value cannot be null or empty.", "password");
+
+            return _provider.ValidateUser(userName, password);
+        }
+
+        public MembershipCreateStatus CreateUser(string userName, string 
password, string email)
+        {
+            if (String.IsNullOrEmpty(userName)) throw new 
ArgumentException("Value cannot be null or empty.", "userName");
+            if (String.IsNullOrEmpty(password)) throw new 
ArgumentException("Value cannot be null or empty.", "password");
+            if (String.IsNullOrEmpty(email)) throw new 
ArgumentException("Value cannot be null or empty.", "email");
+
+            MembershipCreateStatus status;
+            _provider.CreateUser(userName, password, email, null, null, true, 
null, out status);
+            return status;
+        }
+
+        public bool ChangePassword(string userName, string oldPassword, string 
newPassword)
+        {
+            if (String.IsNullOrEmpty(userName)) throw new 
ArgumentException("Value cannot be null or empty.", "userName");
+            if (String.IsNullOrEmpty(oldPassword)) throw new 
ArgumentException("Value cannot be null or empty.", "oldPassword");
+            if (String.IsNullOrEmpty(newPassword)) throw new 
ArgumentException("Value cannot be null or empty.", "newPassword");
+
+            // The underlying ChangePassword() will throw an exception rather
+            // than return false in certain failure scenarios.
+            try
+            {
+                MembershipUser currentUser = _provider.GetUser(userName, true 
/* userIsOnline */);
+                return currentUser.ChangePassword(oldPassword, newPassword);
+            }
+            catch (ArgumentException)
+            {
+                return false;
+            }
+            catch (MembershipPasswordException)
+            {
+                return false;
+            }
+        }
+    }
+
+    public interface IFormsAuthenticationService
+    {
+        void SignIn(string userName, bool createPersistentCookie);
+        void SignOut();
+    }
+
+    public class FormsAuthenticationService : IFormsAuthenticationService
+    {
+        public void SignIn(string userName, bool createPersistentCookie)
+        {
+            if (String.IsNullOrEmpty(userName)) throw new 
ArgumentException("Value cannot be null or empty.", "userName");
+
+            FormsAuthentication.SetAuthCookie(userName, 
createPersistentCookie);
+        }
+
+        public void SignOut()
+        {
+            FormsAuthentication.SignOut();
+        }
+    }
+    #endregion
+
+    #region Validation
+    public static class AccountValidation
+    {
+        public static string ErrorCodeToString(MembershipCreateStatus 
createStatus)
+        {
+            // See http://go.microsoft.com/fwlink/?LinkID=177550 for
+            // a full list of status codes.
+            switch (createStatus)
+            {
+                case MembershipCreateStatus.DuplicateUserName:
+                    return "Username already exists. Please enter a different 
user name.";
+
+                case MembershipCreateStatus.DuplicateEmail:
+                    return "A username for that e-mail address already exists. 
Please enter a different e-mail address.";
+
+                case MembershipCreateStatus.InvalidPassword:
+                    return "The password provided is invalid. Please enter a 
valid password value.";
+
+                case MembershipCreateStatus.InvalidEmail:
+                    return "The e-mail address provided is invalid. Please 
check the value and try again.";
+
+                case MembershipCreateStatus.InvalidAnswer:
+                    return "The password retrieval answer provided is invalid. 
Please check the value and try again.";
+
+                case MembershipCreateStatus.InvalidQuestion:
+                    return "The password retrieval question provided is 
invalid. Please check the value and try again.";
+
+                case MembershipCreateStatus.InvalidUserName:
+                    return "The user name provided is invalid. Please check 
the value and try again.";
+
+                case MembershipCreateStatus.ProviderError:
+                    return "The authentication provider returned an error. 
Please verify your entry and try again. If the problem persists, please contact 
your system administrator.";
+
+                case MembershipCreateStatus.UserRejected:
+                    return "The user creation request has been canceled. 
Please verify your entry and try again. If the problem persists, please contact 
your system administrator.";
+
+                default:
+                    return "An unknown error occurred. Please verify your 
entry and try again. If the problem persists, please contact your system 
administrator.";
+            }
+        }
+    }
+
+    [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = 
true)]
+    public sealed class PropertiesMustMatchAttribute : ValidationAttribute
+    {
+        private const string _defaultErrorMessage = "'{0}' and '{1}' do not 
match.";
+        private readonly object _typeId = new object();
+
+        public PropertiesMustMatchAttribute(string originalProperty, string 
confirmProperty)
+            : base(_defaultErrorMessage)
+        {
+            OriginalProperty = originalProperty;
+            ConfirmProperty = confirmProperty;
+        }
+
+        public string ConfirmProperty { get; private set; }
+        public string OriginalProperty { get; private set; }
+
+        public override object TypeId
+        {
+            get
+            {
+                return _typeId;
+            }
+        }
+
+        public override string FormatErrorMessage(string name)
+        {
+            return String.Format(CultureInfo.CurrentUICulture, 
ErrorMessageString,
+                OriginalProperty, ConfirmProperty);
+        }
+
+        public override bool IsValid(object value)
+        {
+            PropertyDescriptorCollection properties = 
TypeDescriptor.GetProperties(value);
+            object originalValue = properties.Find(OriginalProperty, true /* 
ignoreCase */).GetValue(value);
+            object confirmValue = properties.Find(ConfirmProperty, true /* 
ignoreCase */).GetValue(value);
+            return Object.Equals(originalValue, confirmValue);
+        }
+    }
+
+    [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, 
AllowMultiple = false, Inherited = true)]
+    public sealed class ValidatePasswordLengthAttribute : ValidationAttribute
+    {
+        private const string _defaultErrorMessage = "'{0}' must be at least 
{1} characters long.";
+        private readonly int _minCharacters = 
Membership.Provider.MinRequiredPasswordLength;
+
+        public ValidatePasswordLengthAttribute()
+            : base(_defaultErrorMessage)
+        {
+        }
+
+        public override string FormatErrorMessage(string name)
+        {
+            return String.Format(CultureInfo.CurrentUICulture, 
ErrorMessageString,
+                name, _minCharacters);
+        }
+
+        public override bool IsValid(object value)
+        {
+            string valueAsString = value as string;
+            return (valueAsString != null && valueAsString.Length >= 
_minCharacters);
+        }
+    }
+    #endregion
+
+}

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest.csproj
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest.csproj?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest.csproj
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest.csproj
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>
+    </ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D3C6D785-0526-410F-A215-D74260428317}</ProjectGuid>
+    
<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>NPanday330MVC2010ProjectTest</RootNamespace>
+    <AssemblyName>NPanday330MVC2010ProjectTest</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <MvcBuildViews>false</MvcBuildViews>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' 
">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 
'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web.DynamicData" />
+    <Reference Include="System.Web.Entity" />
+    <Reference Include="System.Web.ApplicationServices" />
+    <Reference Include="System.ComponentModel.DataAnnotations">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.Extensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Web.Abstractions" />
+    <Reference Include="System.Web.Routing" />
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.EnterpriseServices" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Controllers\AccountController.cs" />
+    <Compile Include="Controllers\HomeController.cs" />
+    <Compile Include="Global.asax.cs">
+      <DependentUpon>Global.asax</DependentUpon>
+    </Compile>
+    <Compile Include="Models\AccountModels.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Global.asax" />
+    <Content Include="Web.config" />
+    <Content Include="Web.Debug.config">
+      <DependentUpon>Web.config</DependentUpon>
+    </Content>
+    <Content Include="Web.Release.config">
+      <DependentUpon>Web.config</DependentUpon>
+    </Content>
+    <Content Include="Content\Site.css" />
+    <Content Include="Scripts\jquery-1.4.1.js" />
+    <Content Include="Scripts\jquery-1.4.1.min.js" />
+    <Content Include="Scripts\jquery-1.4.1-vsdoc.js" />
+    <Content Include="Scripts\jquery.validate.js" />
+    <Content Include="Scripts\jquery.validate.min.js" />
+    <Content Include="Scripts\jquery.validate-vsdoc.js" />
+    <Content Include="Scripts\MicrosoftAjax.js" />
+    <Content Include="Scripts\MicrosoftAjax.debug.js" />
+    <Content Include="Scripts\MicrosoftMvcAjax.js" />
+    <Content Include="Scripts\MicrosoftMvcAjax.debug.js" />
+    <Content Include="Scripts\MicrosoftMvcValidation.js" />
+    <Content Include="Scripts\MicrosoftMvcValidation.debug.js" />
+    <Content Include="Views\Account\ChangePassword.aspx" />
+    <Content Include="Views\Account\ChangePasswordSuccess.aspx" />
+    <Content Include="Views\Account\LogOn.aspx" />
+    <Content Include="Views\Account\Register.aspx" />
+    <Content Include="Views\Home\About.aspx" />
+    <Content Include="Views\Home\Index.aspx" />
+    <Content Include="Views\Shared\Error.aspx" />
+    <Content Include="Views\Shared\LogOnUserControl.ascx" />
+    <Content Include="Views\Shared\Site.Master" />
+    <Content Include="Views\Web.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="App_Data\" />
+  </ItemGroup>
+  <ItemGroup>
+    <WebReferences Include="Web References\" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Import 
Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"
 />
+  <!-- To modify your build process, add your task inside one of the targets 
below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target> -->
+  <Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
+    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
+  </Target>
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+        <WebProjectProperties>
+          <UseIIS>False</UseIIS>
+          <AutoAssignPort>True</AutoAssignPort>
+          <DevelopmentServerPort>53492</DevelopmentServerPort>
+          <DevelopmentServerVPath>/</DevelopmentServerVPath>
+          <IISUrl>
+          </IISUrl>
+          <NTLMAuthentication>False</NTLMAuthentication>
+          <UseCustomServer>False</UseCustomServer>
+          <CustomServerUrl>
+          </CustomServerUrl>
+          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+        </WebProjectProperties>
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+</Project>
\ No newline at end of file

Added: 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Properties/AssemblyInfo.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Properties/AssemblyInfo.cs?rev=1024525&view=auto
==============================================================================
--- 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Properties/AssemblyInfo.cs
 (added)
+++ 
incubator/npanday/npanday-its/trunk/src/test/resources/NPanday330MVC2010ProjectTest/NPanday330MVC2010ProjectTest/Properties/AssemblyInfo.cs
 Wed Oct 20 05:14:10 2010
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("NPanday330MVC2010ProjectTest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("NPanday330MVC2010ProjectTest")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed 
to COM
+[assembly: Guid("d5dd4ab7-30cd-4ca2-9dcf-25e3eb882db4")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build 
Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]


Reply via email to