From d25d5dd43656c900e5834ee4086bfa7f16c4e03b Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 9 Mar 2015 09:56:33 +0100
Subject: [PATCH] Automating Testruns

---
 .../CombustionEngineTest.cs                   | 18 ++++++++++++-
 VectoCoreTest/Properties/Settings.Designer.cs | 26 +++++++++++++++++++
 VectoCoreTest/Properties/Settings.settings    |  6 +++++
 VectoCoreTest/TestData/EngineTests.csv        |  5 ++++
 VectoCoreTest/VectoCoreTest.csproj            | 17 ++++++++++++
 VectoCoreTest/app.config                      |  3 +++
 VectoCoreTest/default.runsettings             |  7 +++++
 7 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 VectoCoreTest/Properties/Settings.Designer.cs
 create mode 100644 VectoCoreTest/Properties/Settings.settings
 create mode 100644 VectoCoreTest/TestData/EngineTests.csv
 create mode 100644 VectoCoreTest/app.config
 create mode 100644 VectoCoreTest/default.runsettings

diff --git a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
index cd4a23f089..4795a32cd3 100644
--- a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Data;
 using System.IO;
+using System.Reflection;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
@@ -15,7 +16,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
         [TestInitialize]
         public void TestInitialize()
         {
-            Directory.SetCurrentDirectory("TestData/EngineOnly/Test1");
+            Directory.SetCurrentDirectory("TestData\\EngineOnly\\Test1");
+	     
+			AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
         }
 
         [TestCleanup]
@@ -109,5 +112,18 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
             Assert.AreEqual(dataWriter[ModalResult.FC_AUXc], 14000);
             Assert.AreEqual(dataWriter[ModalResult.FC_WHTCc], 15000);
         }
+
+		public TestContext TestContext { get; set; }
+
+		[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\TestData\\EngineTests.csv", "EngineTests#csv", DataAccessMethod.Sequential)]
+	    [TestMethod]
+	    public void TestAllEngineOnlyCycles()
+	    {
+		    var a = Convert.ToDouble(TestContext.DataRow["Add1"].ToString());
+		    var b = Convert.ToDouble(TestContext.DataRow["Add2"].ToString());
+		    var res = Convert.ToDouble(TestContext.DataRow["Sum"].ToString());
+
+		    Assert.AreEqual(a + b, res);
+		}
     }
 }
diff --git a/VectoCoreTest/Properties/Settings.Designer.cs b/VectoCoreTest/Properties/Settings.Designer.cs
new file mode 100644
index 0000000000..39263ffdd8
--- /dev/null
+++ b/VectoCoreTest/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.18444
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace TUGraz.VectoCore.Tests.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/VectoCoreTest/Properties/Settings.settings b/VectoCoreTest/Properties/Settings.settings
new file mode 100644
index 0000000000..049245f401
--- /dev/null
+++ b/VectoCoreTest/Properties/Settings.settings
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+</SettingsFile>
diff --git a/VectoCoreTest/TestData/EngineTests.csv b/VectoCoreTest/TestData/EngineTests.csv
new file mode 100644
index 0000000000..ceb9b4d8b7
--- /dev/null
+++ b/VectoCoreTest/TestData/EngineTests.csv
@@ -0,0 +1,5 @@
+Add1,Add2,Sum
+7,2,9
+5,2,7
+3,2,5
+4,3,7
\ No newline at end of file
diff --git a/VectoCoreTest/VectoCoreTest.csproj b/VectoCoreTest/VectoCoreTest.csproj
index fb9c333ff0..6457e9a993 100644
--- a/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCoreTest/VectoCoreTest.csproj
@@ -37,6 +37,7 @@
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Data" />
+    <Reference Include="System.Design" />
     <Reference Include="System.Xml" />
   </ItemGroup>
   <Choose>
@@ -54,6 +55,11 @@
   <ItemGroup>
     <Compile Include="Models\SimulationComponent\CombustionEngineTest.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </Compile>
     <Compile Include="Utils\TestModalDataWriter.cs" />
   </ItemGroup>
   <ItemGroup>
@@ -63,6 +69,12 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
+    <None Include="app.config" />
+    <None Include="default.runsettings" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
     <None Include="TestData\EngineOnly\Test1\24t Coach.veng">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
@@ -76,6 +88,11 @@
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="TestData\EngineTests.csv">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
   <Choose>
     <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
       <ItemGroup>
diff --git a/VectoCoreTest/app.config b/VectoCoreTest/app.config
new file mode 100644
index 0000000000..49cc43e1d8
--- /dev/null
+++ b/VectoCoreTest/app.config
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+</configuration>
\ No newline at end of file
diff --git a/VectoCoreTest/default.runsettings b/VectoCoreTest/default.runsettings
new file mode 100644
index 0000000000..ce352ab72b
--- /dev/null
+++ b/VectoCoreTest/default.runsettings
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RunSettings>
+	<MSTest>
+		<DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
+		<DeploymentEnabled>False></DeploymentEnabled>
+	</MSTest>
+</RunSettings>
\ No newline at end of file
-- 
GitLab