using System;
using NUnit.Framework;
using NPetshop.Presentation;
using NPetshop.Service;
namespace NPetshop.Test.Presentation
{
///
/// Summary description for ControllerTest.
///
[TestFixture]
public class ControllerTest
{
private NPetshopContainer _container;
private CatalogController _catalogController = null;
private NPetshopState _state = null;
#region SetUp & TearDown
///
/// SetUp
///
[SetUp]
public void SetUp()
{
_container = null;
_catalogController = null;
_state = null;
_container = new NPetshopContainer();
_catalogController = _container[typeof(CatalogController)] as CatalogController;
_state = _catalogController.State as NPetshopState;
}
///
/// TearDown
///
[TearDown]
public void Dispose()
{
_container.Dispose();
}
#endregion
#region Test Controller
///
/// Test Container
///
[Test]
public void TestContainer()
{
object controller = _container.Resolve("BillingController");
Assert.IsTrue(controller.GetType()==typeof(BillingController));
}
///
/// Test catalog browsing
///
[Test]
public void TestCatalogController()
{
_state.CurrentView = "no-case";
_state.Command = "showCategory";
_catalogController.ShowProductsByCategory("FISH");
Assert.IsTrue(_state.PreviousView=="no-case");
Assert.IsTrue(_state.CurrentView=="Category");
Assert.IsTrue(_state.CurrentList.Count==4);
}
#endregion
}
}