PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/V1/trunk/Source/StockTraderRI/StockTraderRI.Modules.Position.Tests/PositionModuleFixture.cs

#
C# | 153 lines | 110 code | 27 blank | 16 comment | 0 complexity | 68823a4cfb321ca1fc30bb3b27dcaa23 MD5 | raw file
  1. //===============================================================================
  2. // Microsoft patterns & practices
  3. // Composite Application Guidance for Windows Presentation Foundation
  4. //===============================================================================
  5. // Copyright (c) Microsoft Corporation. All rights reserved.
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
  7. // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
  8. // LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  9. // FITNESS FOR A PARTICULAR PURPOSE.
  10. //===============================================================================
  11. // The example companies, organizations, products, domain names,
  12. // e-mail addresses, logos, people, places, and events depicted
  13. // herein are fictitious. No association with any real company,
  14. // organization, product, domain name, email address, logo, person,
  15. // places, or events is intended or should be inferred.
  16. //===============================================================================
  17. using Microsoft.Practices.Composite.Regions;
  18. using Microsoft.Practices.Unity;
  19. using Microsoft.VisualStudio.TestTools.UnitTesting;
  20. using StockTraderRI.Infrastructure.Interfaces;
  21. using StockTraderRI.Modules.Position.Controllers;
  22. using StockTraderRI.Modules.Position.Interfaces;
  23. using StockTraderRI.Modules.Position.Orders;
  24. using StockTraderRI.Modules.Position.PositionSummary;
  25. using StockTraderRI.Modules.Position.Services;
  26. using StockTraderRI.Modules.Position.Tests.Mocks;
  27. namespace StockTraderRI.Modules.Position.Tests
  28. {
  29. [TestClass]
  30. public class PositionModuleFixture
  31. {
  32. [TestMethod]
  33. [DeploymentItem("Data", "Data")]
  34. public void RegisterViewsServicesRegistersViewsAndServices()
  35. {
  36. MockUnityContainer container = new MockUnityContainer();
  37. TestablePositionModule module = new TestablePositionModule(container, new MockRegionManager());
  38. module.InvokeRegisterViewsAndServices();
  39. Assert.AreEqual(typeof(AccountPositionService), container.Types[typeof(IAccountPositionService)]);
  40. Assert.AreEqual(typeof(PositionSummaryView), container.Types[typeof(IPositionSummaryView)]);
  41. Assert.AreEqual(typeof(PositionSummaryPresentationModel), container.Types[typeof(IPositionSummaryPresentationModel)]);
  42. Assert.AreEqual(typeof(OrdersView), container.Types[typeof(IOrdersView)]);
  43. Assert.AreEqual(typeof(OrdersPresentationModel), container.Types[typeof(IOrdersPresentationModel)]);
  44. Assert.AreEqual(typeof(OrderDetailsView), container.Types[typeof(IOrderDetailsView)]);
  45. Assert.AreEqual(typeof(OrderDetailsPresentationModel), container.Types[typeof(IOrderDetailsPresentationModel)]);
  46. Assert.AreEqual(typeof(OrderCommandsView), container.Types[typeof(IOrderCommandsView)]);
  47. Assert.AreEqual(typeof(OrderCompositeView), container.Types[typeof(IOrderCompositeView)]);
  48. Assert.AreEqual(typeof(OrderCompositePresentationModel), container.Types[typeof(IOrderCompositePresentationModel)]);
  49. Assert.AreEqual(typeof(OrdersController), container.Types[typeof(IOrdersController)]);
  50. Assert.AreEqual(typeof(XmlOrdersService), container.Types[typeof(IOrdersService)]);
  51. }
  52. [TestMethod]
  53. public void InitAddsOrdersToolbarViewToToolbarRegion()
  54. {
  55. MockRegion toolbarRegion = new MockRegion();
  56. MockRegion mainRegion = new MockRegion();
  57. MockRegionManager regionManager = new MockRegionManager();
  58. var container = new MockUnityResolver();
  59. container.Bag.Add(typeof(IOrdersController), new MockOrdersController());
  60. container.Bag.Add(typeof(IPositionSummaryPresentationModel), new MockPositionSummaryPresenter());
  61. PositionModule module = new PositionModule(container, regionManager);
  62. regionManager.Regions.Add("MainRegion", mainRegion);
  63. regionManager.Regions.Add("CollapsibleRegion", new MockRegion());
  64. regionManager.Regions.Add("MainToolbarRegion", toolbarRegion);
  65. Assert.AreEqual(0, toolbarRegion.AddedViews.Count);
  66. Assert.AreEqual(0, mainRegion.AddedViews.Count);
  67. module.Initialize();
  68. Assert.AreEqual(1, mainRegion.AddedViews.Count);
  69. Assert.AreEqual(1, toolbarRegion.AddedViews.Count);
  70. }
  71. internal class TestablePositionModule : PositionModule
  72. {
  73. public TestablePositionModule(IUnityContainer container, IRegionManager regionManager)
  74. : base(container, regionManager)
  75. {
  76. }
  77. public void InvokeRegisterViewsAndServices()
  78. {
  79. base.RegisterViewsAndServices();
  80. }
  81. }
  82. }
  83. internal class MockPositionSummaryPresenter : IPositionSummaryPresentationModel
  84. {
  85. #region IPositionSummaryPresenter Members
  86. private IPositionSummaryView _view = new MockPositionSummaryView();
  87. public IPositionSummaryView View
  88. {
  89. get { return _view; }
  90. set { _view = value; }
  91. }
  92. public System.Collections.ObjectModel.ObservableCollection<PositionSummaryItem> PositionSummaryItems
  93. {
  94. get { throw new System.NotImplementedException(); }
  95. }
  96. public Microsoft.Practices.Composite.Wpf.Commands.DelegateCommand<string> BuyCommand
  97. {
  98. get
  99. {
  100. throw new System.NotImplementedException();
  101. }
  102. set
  103. {
  104. throw new System.NotImplementedException();
  105. }
  106. }
  107. public Microsoft.Practices.Composite.Wpf.Commands.DelegateCommand<string> SellCommand
  108. {
  109. get
  110. {
  111. throw new System.NotImplementedException();
  112. }
  113. set
  114. {
  115. throw new System.NotImplementedException();
  116. }
  117. }
  118. #endregion
  119. #region IPositionSummaryPresentationModel Members
  120. public string HeaderInfo
  121. {
  122. get { throw new System.NotImplementedException(); }
  123. }
  124. #endregion
  125. }
  126. }