|
using System;
using System.Text;
using System.Reflection;
using NUnit.Framework;
using MVCSharp.Core.Configuration;
using MVCSharp.Core.Configuration.Tasks;
using MVCSharp.Core.Configuration.Views;
namespace MVCSharp.Tests.Core.Configuration.Tasks
{
[TestFixture]
public class TestTaskInfoCollection
{
private MVCConfiguration mvcConfig = new MVCConfiguration();
[TestFixtureSetUp]
public void FixtureSetUp()
{
mvcConfig.TaskInfoProvider = new StubTaskInfoProvider();
mvcConfig.ViewInfosProviderType = typeof(StubViewInfosProvider);
}
[Test]
public void TestIndexer()
{
TaskInfoCollection taskInfColl = new TaskInfoCollection();
taskInfColl.MVCConfig = mvcConfig;
TaskInfo ti = taskInfColl[typeof(StubTask)];
Assert.AreSame(StubTaskInfoProvider.returnedObj, ti);
Assert.AreSame(StubViewInfosProvider.returnedViewInfoColl, ti.ViewInfos);
}
#region Stubs implementations
class StubTask
{ }
class StubTaskInfoProvider : ITaskInfoProvider
{
public static readonly TaskInfo returnedObj = new TaskInfo();
public TaskInfo GetTaskInfo(Type taskType)
{
return returnedObj;
}
}
class StubViewInfosProvider : IViewInfosProvider
{
public static readonly ViewInfoCollection returnedViewInfoColl = new ViewInfoCollection();
public ViewInfosByTaskCollection GetFromAssembly(Assembly assembly)
{
ViewInfosByTaskCollection result = new ViewInfosByTaskCollection();
result[typeof(StubTask)] = returnedViewInfoColl;
return result;
}
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Oleg Zhukov, born and living in Russia is Lead Engineer and Project Manager in a company which provides business software solutions. He has graduated from Moscow Institute of Physics and Technology (MIPT) (department of system programming) and has got a M.S. degree in applied physics and mathematics. His research and development work concerns architectural patterns, domain-driven development and systems analysis. Being the adherent of agile methods he applies them extensively in the projects managed by him.