Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 7fe71ece authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

testing vehiclecontainer

parent 14205221
No related branches found
No related tags found
No related merge requests found
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using TUGraz.VectoCore.Models.SimulationComponent;
namespace TUGraz.VectoCore.Models.Simulation
{
public class SimulationContainer
{
private IList<VectoSimulationComponent> _components = new List<VectoSimulationComponent>();
private ICombustionEngine _engine = null;
private IGearbox _gearbox = null;
public void AddComponent(VectoSimulationComponent component)
{
DoAddComponent(component);
}
public void Addcomponent<T>(T engine) where T : VectoSimulationComponent, ICombustionEngine
{
_engine = engine;
DoAddComponent(engine);
}
public void AddComponent<T>(T gearbox) where T : VectoSimulationComponent, IGearbox
{
_gearbox = gearbox;
DoAddComponent(gearbox);
}
public IReadOnlyCollection<VectoSimulationComponent> SimulationComponents()
{
return new ReadOnlyCollection<VectoSimulationComponent>(_components);
}
public ICombustionEngine CombustionEngine()
{
return _engine;
}
public IGearbox Gearbox()
{
return _gearbox;
}
protected void DoAddComponent(VectoSimulationComponent component)
{
_components.Add(component);
}
}
}
...@@ -84,6 +84,7 @@ ...@@ -84,6 +84,7 @@
<Compile Include="Models\SimulationComponent\IWheels.cs" /> <Compile Include="Models\SimulationComponent\IWheels.cs" />
<Compile Include="Models\SimulationComponent\SimulationComponentData.cs" /> <Compile Include="Models\SimulationComponent\SimulationComponentData.cs" />
<Compile Include="Models\SimulationComponent\VectoSimulationComponent.cs" /> <Compile Include="Models\SimulationComponent\VectoSimulationComponent.cs" />
<Compile Include="Models\Simulation\SimulationContainer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Utils\DataRowExtensionMethods.cs" /> <Compile Include="Utils\DataRowExtensionMethods.cs" />
<Compile Include="Utils\VectoMath.cs" /> <Compile Include="Utils\VectoMath.cs" />
......
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using TUGraz.VectoCore.Models.Simulation;
using TUGraz.VectoCore.Models.SimulationComponent;
using TUGraz.VectoCore.Models.SimulationComponent.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Impl;
namespace TUGraz.VectoCore.Tests.Models
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var engine = new CombustionEngine(new CombustionEngineData());
var simulationcontainer = new SimulationContainer();
simulationcontainer.Addcomponent(engine);
Assert.IsInstanceOfType(simulationcontainer.CombustionEngine(), typeof(ICombustionEngine));
}
}
}
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="Models\SimulationComponentData\FullLoadCurveTest.cs" /> <Compile Include="Models\SimulationComponentData\FullLoadCurveTest.cs" />
<Compile Include="Models\SimulationComponent\CombustionEngineTest.cs" /> <Compile Include="Models\SimulationComponent\CombustionEngineTest.cs" />
<Compile Include="Models\UnitTest1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Settings.Designer.cs"> <Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment