public void testStrategy() { FastIDSet itemIDsFromUser123 = new FastIDSet(); itemIDsFromUser123.Add(1L); FastIDSet itemIDsFromUser456 = new FastIDSet(); itemIDsFromUser456.Add(1L); itemIDsFromUser456.Add(2L); List<IPreference> prefs = new List<IPreference>(); prefs.Add(new GenericPreference(123L, 1L, 1.0f)); prefs.Add(new GenericPreference(456L, 1L, 1.0f)); IPreferenceArray preferencesForItem1 = new GenericItemPreferenceArray(prefs); var dataModelMock = new DynamicMock(typeof(IDataModel)); dataModelMock.ExpectAndReturn("GetPreferencesForItem", preferencesForItem1, (1L)); dataModelMock.ExpectAndReturn("GetItemIDsFromUser", itemIDsFromUser123, (123L)); dataModelMock.ExpectAndReturn("GetItemIDsFromUser", itemIDsFromUser456, (456L)); IPreferenceArray prefArrayOfUser123 = new GenericUserPreferenceArray( new List<IPreference>() {new GenericPreference(123L, 1L, 1.0f)} ); ICandidateItemsStrategy strategy = new PreferredItemsNeighborhoodCandidateItemsStrategy(); //EasyMock.replay(dataModel); FastIDSet candidateItems = strategy.GetCandidateItems(123L, prefArrayOfUser123, (IDataModel)dataModelMock.MockInstance); Assert.AreEqual(1, candidateItems.Count()); Assert.True(candidateItems.Contains(2L)); dataModelMock.Verify(); // EasyMock.verify(dataModel); }
public void testStrategy() { FastIDSet allItemIDs = new FastIDSet(); allItemIDs.AddAll(new long[] { 1L, 2L, 3L }); FastIDSet preferredItemIDs = new FastIDSet(1); preferredItemIDs.Add(2L); var dataModelMock = new DynamicMock( typeof( IDataModel )); dataModelMock.ExpectAndReturn("GetNumItems", 3); dataModelMock.ExpectAndReturn("GetItemIDs", allItemIDs.GetEnumerator()); IPreferenceArray prefArrayOfUser123 = new GenericUserPreferenceArray( new List<IPreference>() { new GenericPreference(123L, 2L, 1.0f) } ); ICandidateItemsStrategy strategy = new AllUnknownItemsCandidateItemsStrategy(); //EasyMock.replay(dataModel); FastIDSet candidateItems = strategy.GetCandidateItems(123L, prefArrayOfUser123, (IDataModel)dataModelMock.MockInstance); Assert.AreEqual(2, candidateItems.Count() ); Assert.True(candidateItems.Contains(1L)); Assert.True(candidateItems.Contains(3L)); dataModelMock.Verify(); //EasyMock.verify(dataModel); }
public void AddEconomicActivityWhenNameAlreadyExist() { _dynamicMock = new DynamicMock(typeof(EconomicActivityManager)); EconomicActivity activity = new EconomicActivity { Name = "Services", Parent = new EconomicActivity { Id = 1 } }; _dynamicMock.ExpectAndReturn("ThisActivityAlreadyExist", true, "Services", 1); _dynamicMock.ExpectAndReturn("AddEconomicActivity", 0, activity); _economicActivityManager = (EconomicActivityManager)_dynamicMock.MockInstance; _economicActivityServices = new EconomicActivityServices(_economicActivityManager); _economicActivityServices.AddEconomicActivity(activity); }
public void AddEconomicActivity() { _dynamicMock = new DynamicMock(typeof(EconomicActivityManager)); EconomicActivity activity = new EconomicActivity { Name = "Services",Parent = new EconomicActivity {Id=1}}; _dynamicMock.ExpectAndReturn("ThisActivityAlreadyExist", false, "Services", 1); _dynamicMock.ExpectAndReturn("AddEconomicActivity", 2, activity); _economicActivityManager = (EconomicActivityManager)_dynamicMock.MockInstance; _economicActivityServices = new EconomicActivityServices(_economicActivityManager); activity.Id = _economicActivityServices.AddEconomicActivity(activity); Assert.AreEqual(2,activity.Id); }
public void TestDirty() { Document dm = new Document(); Assert.IsFalse(dm.Dirty); dm.Text = "abc"; Assert.IsTrue(dm.Dirty); dm.FileName = @"c:\abc.wordo"; DynamicMock fs = new DynamicMock(typeof (IFileSystem)); dm.Save((IFileSystem)fs.MockInstance); Assert.IsFalse(dm.Dirty); dm.Text = "abc2"; Assert.IsTrue(dm.Dirty); dm.Save((IFileSystem)fs.MockInstance); Assert.IsFalse(dm.Dirty); fs.ExpectAndReturn("ReadAllText", "abc3", @"c:\abc.wordo"); dm.Load((IFileSystem)fs.MockInstance); Assert.AreEqual("abc3", dm.Text); Assert.IsFalse(dm.Dirty); }
public void VerifyUserAgent(string expected) { var mock = new DynamicMock(typeof(IAndroidJavaClass)); mock.ExpectAndReturn("CallStatic", "1.0.0", "GetSdkVersion"); Assert.AreEqual( string.Format( CultureInfo.InvariantCulture, expected, FacebookSdkVersion.Build), Constants.GraphApiUserAgent); }
public void CanAddTestCaseBuilder() { DynamicMock mock = new DynamicMock( typeof(ITestCaseBuilder) ); mock.ExpectAndReturn( "CanBuildFrom", true, null ); mock.Expect( "BuildFrom" ); IExtensionPoint ep = host.GetExtensionPoint("TestCaseBuilders"); ep.Install( mock.MockInstance ); host.TestBuilders.BuildFrom( null ); mock.Verify(); }
public void preferencesFetchedOnlyOnce() { var dataModelMock = new DynamicMock( typeof( IDataModel) ); var itemSimilarityMock = new DynamicMock( typeof(IItemSimilarity) ); var candidateItemsStrategyMock = new DynamicMock( typeof (ICandidateItemsStrategy) ); var mostSimilarItemsCandidateItemsStrategyMock = new DynamicMock( typeof(IMostSimilarItemsCandidateItemsStrategy) ); IPreferenceArray preferencesFromUser = new GenericUserPreferenceArray( new List<IPreference>() {new GenericPreference(1L, 1L, 5.0f), new GenericPreference(1L, 2L, 4.0f)}); dataModelMock.ExpectAndReturn("GetMinPreference", float.NaN); dataModelMock.ExpectAndReturn("GetMaxPreference", float.NaN); dataModelMock.ExpectAndReturn("GetPreferencesFromUser", preferencesFromUser, 1L); var dataModel = (IDataModel)dataModelMock.MockInstance; candidateItemsStrategyMock.ExpectAndReturn("GetCandidateItems", new FastIDSet(new long[] { 3L, 4L }), 1L, preferencesFromUser, dataModel); itemSimilarityMock.ExpectAndReturn("ItemSimilarities", new double[] { 0.5, 0.3 }, 3L, preferencesFromUser.GetIDs()); itemSimilarityMock.ExpectAndReturn("ItemSimilarities", new double[] { 0.4, 0.1 }, 4L, preferencesFromUser.GetIDs()); //EasyMock.replay(dataModel, itemSimilarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy); IRecommender recommender = new GenericItemBasedRecommender((IDataModel)dataModel, (IItemSimilarity)itemSimilarityMock.MockInstance, (ICandidateItemsStrategy)candidateItemsStrategyMock.MockInstance, (IMostSimilarItemsCandidateItemsStrategy)mostSimilarItemsCandidateItemsStrategyMock.MockInstance); recommender.Recommend(1L, 3); dataModelMock.Verify(); itemSimilarityMock.Verify(); candidateItemsStrategyMock.Verify(); mostSimilarItemsCandidateItemsStrategyMock.Verify(); //EasyMock.verify(dataModel, itemSimilarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy); }
public void TestDeleteCity() { List<City> cities = new List<City>(); City city = new City { Name = "New York", DistrictId = 12 }; DynamicMock dynamicMock = new DynamicMock(typeof(LocationsManager)); dynamicMock.ExpectAndReturn("AddCity", 3,city); dynamicMock.SetReturnValue("GetCities", cities); dynamicMock.Expect("DeleteCityById", 2); LocationsManager mocklocationManager = (LocationsManager)dynamicMock.MockInstance; LocationServices locationService = new LocationServices(mocklocationManager); locationService.DeleteCity(2); Assert.AreEqual(3, locationService.AddCity(city)); Assert.AreEqual(0, locationService.GetCities().Count); }
public void init() { sourceMock = new DynamicMock(typeof(ISecurity)); positionMock = new DynamicMock(typeof(IPosition)); positionListMock = new DynamicMock(typeof(IPositionsList)); sourceMock.ExpectAndReturn( "get_Positions", (IPositionsList)positionListMock.MockInstance ); positionListMock.ExpectAndReturn( "get_LastPositionClosed", (IPosition)positionMock.MockInstance ); }
public void TestLoad() { Document dm = new Document(); dm.FileName = @"c:\abc.wordo"; DynamicMock fs = new DynamicMock(typeof (IFileSystem)); fs.ExpectAndReturn("ReadAllText", "abc", @"c:\abc.wordo"); dm.Load((IFileSystem)fs.MockInstance); fs.Verify(); Assert.AreEqual("abc", dm.Text); }
public void estimatePreference() { var dataModelMock = new DynamicMock( typeof( IDataModel) ); var factorizerMock = new DynamicMock( typeof(IFactorizer) ); var factorization = new Factorization_estimatePreference_TestMock(); factorizerMock.ExpectAndReturn("Factorize", factorization); //EasyMock.replay(dataModel, factorizer, factorization); SVDRecommender svdRecommender = new SVDRecommender( (IDataModel)dataModelMock.MockInstance, (IFactorizer)factorizerMock.MockInstance); float estimate = svdRecommender.EstimatePreference(1L, 5L); Assert.AreEqual(1, estimate, EPSILON); factorizerMock.Verify(); Assert.AreEqual(1, factorization.getItemFeaturesCallCount ); Assert.AreEqual(1, factorization.getUserFeaturesCallCount); //EasyMock.verify(dataModel, factorizer, factorization); }
public void recommend() { var dataModelMock = new DynamicMock( typeof(IDataModel) ); var preferencesFromUserMock = new DynamicMock( typeof(IPreferenceArray) ); var candidateItemsStrategyMock = new DynamicMock( typeof(ICandidateItemsStrategy) ); var factorizerMock = new DynamicMock( typeof(IFactorizer) ); var factorization = new Factorization_recommend_TestMock(); FastIDSet candidateItems = new FastIDSet(); candidateItems.Add(5L); candidateItems.Add(3L); factorizerMock.ExpectAndReturn("Factorize", factorization); dataModelMock.ExpectAndReturn("GetPreferencesFromUser", preferencesFromUserMock.MockInstance, (1L)); candidateItemsStrategyMock.ExpectAndReturn("GetCandidateItems", candidateItems, 1L, preferencesFromUserMock.MockInstance, dataModelMock.MockInstance); //EasyMock.replay(dataModel, candidateItemsStrategy, factorizer, factorization); SVDRecommender svdRecommender = new SVDRecommender( (IDataModel)dataModelMock.MockInstance, (IFactorizer)factorizerMock.MockInstance, (ICandidateItemsStrategy)candidateItemsStrategyMock.MockInstance); IList<IRecommendedItem> recommendedItems = svdRecommender.Recommend(1L, 5); Assert.AreEqual(2, recommendedItems.Count); Assert.AreEqual(3L, recommendedItems[0].GetItemID()); Assert.AreEqual(2.0f, recommendedItems[0].GetValue(), EPSILON); Assert.AreEqual(5L, recommendedItems[1].GetItemID()); Assert.AreEqual(1.0f, recommendedItems[1].GetValue(), EPSILON); dataModelMock.Verify(); candidateItemsStrategyMock.Verify(); factorizerMock.Verify(); Assert.AreEqual(2, factorization.getItemFeaturesCallCount); Assert.AreEqual(2, factorization.getUserFeaturesCallCount); //EasyMock.verify(dataModel, candidateItemsStrategy, factorizer, factorization); }
public void TestPersist() { //Gateway DynamicMock mockGateway = new DynamicMock(typeof(IUserGateway)); IUserGateway gateway = (IUserGateway) mockGateway.MockInstance; //Validator DynamicMock mockValidator = new DynamicMock(typeof(IUserValidator)); IUserValidator validator = (IUserValidator)mockValidator.MockInstance; //User User user = new User(gateway); //Expectations mockValidator.ExpectAndReturn("Validate", true, user); mockGateway.ExpectAndReturn("Persist", true, user); Assert.AreEqual(true, user.Persist(validator)); mockValidator.Verify(); mockGateway.Verify(); }
/// <summary> /// Returns an IXWikiClient mock implementation to be used by unit tests. /// </summary> /// <returns>An IXWikiClient mock instance.</returns> public static IXWikiClient CreateMockInstance() { DynamicMock xWikiClientMock = new DynamicMock(typeof(IXWikiClient)); xWikiClientMock.ExpectAndReturn("Login", true, new object[2]); xWikiClientMock.ExpectAndReturn("GetAvailableSyntaxes", new List<string>() { "XWiki 2.0", "XHTML" }); xWikiClientMock.ExpectAndReturn("GetPagesNames", new List<string>() { "Page1" }, new object[1]); xWikiClientMock.ExpectAndReturn("SavePageHTML", true, new object[3]); xWikiClientMock.ExpectAndReturn("AddAttachment", true, new object[2] { PAGE_FULL_NAME, "localFolder\\Document1_TempExport_files/image002.jpg" }); xWikiClientMock.ExpectAndReturn("GetAttachmentURL", "http://127.0.0.1:8080/xwiki/bin/download/Main/Page1/image002.jpg", new object[] { PAGE_FULL_NAME, "image002.jpg" }); SetObjSummariesForGetObjects(ref xWikiClientMock); SetObjForGetObject(ref xWikiClientMock); return (IXWikiClient)xWikiClientMock.MockInstance; }
public void GetContractCodesForClient() { const int tiersId = 6; _savingManagerMock = new DynamicMock(typeof(SavingManager)); _savingManagerMock.ExpectAndReturn("SelectClientSavingBookCodes", new[] { new KeyValuePair<int, string>(1, "S/BC/2007/SAVIN-1/ELFA-6") }, tiersId, 1 ); var savingService = new SavingServices( (SavingManager)_savingManagerMock.MockInstance, null, new User() ); var savings = savingService.SelectClientSavingBookCodes(tiersId, 1); Assert.AreEqual(1, savings.Length); var saving = savings[0]; Assert.AreEqual(1, saving.Key); Assert.AreEqual("S/BC/2007/SAVIN-1/ELFA-6", saving.Value); }
public void testCommitTransactionCalled() { //STOP -- check with instructor before beginning this test~ //now go break your code -- don't call the 'commit transaction' or the 'update account' methods. Does the test above fail? //use dynamic mocks to verify that these methods are called. //here's an example of creating the credit card service. You'll need another thing just like this for //the account update. These mocks will replace the stub code from the happyPathTest DynamicMock mockCreditCardService = new DynamicMock(typeof (ICreditCardService)); //some expectations int token = 42; String ccNum = "4324 3924 4382 3888"; Decimal amount = 199.99M; mockCreditCardService.ExpectAndReturn("ReserveFunds", token, new Object[2] { ccNum, amount }); mockCreditCardService.Expect("CommitTransaction", new Object[1] { token }); ICreditCardService creditCardServiceInstance = (ICreditCardService) mockCreditCardService.MockInstance; //calls to the actual class under test goes here AccountUpdater au = new AccountUpdater(new StubBalanceService(), creditCardServiceInstance); au.UpdateAccount(ccNum, amount, 3982834); //this should be the last line. mockCreditCardService.Verify(); }
public void Install_Successful() { #if NMOCK2 IExtensionHost extensionHostMock = (IExtensionHost)_mocks.NewMock(typeof(IExtensionHost)); IExtensionPoint extensionPointMock = (IExtensionPoint)_mocks.NewMock(typeof(IExtensionPoint)); RowTestAddIn addIn = new RowTestAddIn(); NMock2.Expect.Once.On(extensionHostMock) .Method("GetExtensionPoint").With("TestCaseBuilders") .Will(NMock2.Return.Value(extensionPointMock)); NMock2.Expect.Once.On(extensionPointMock) .Method("Install").With(addIn); bool installed = addIn.Install(extensionHost); _mocks.VerifyAllExpectationsHaveBeenMet(); Assert.That(installed, Is.True); #else DynamicMock extensionHostMock = new DynamicMock(typeof(IExtensionHost)); IExtensionHost extensionHost = (IExtensionHost)extensionHostMock.MockInstance; DynamicMock extensionPointMock = new DynamicMock(typeof(IExtensionPoint)); IExtensionPoint extensionPoint = (IExtensionPoint)extensionPointMock.MockInstance; RowTestAddIn addIn = new RowTestAddIn(); extensionHostMock.ExpectAndReturn("GetExtensionPoint", extensionPointMock.MockInstance, "TestCaseBuilders"); extensionPointMock.Expect("Install", addIn); bool installed = addIn.Install(extensionHost); extensionPointMock.Verify(); extensionHostMock.Verify(); Assert.That(installed, Is.True); #endif }
public void TestSaving_RateWithdrawFees() { Assert.Ignore(); _savingsProduct.WithdrawFeesType = OSavingsFeesType.Rate; _savingsProduct.RateWithdrawFeesMin = 0.01; _savingsProduct.RateWithdrawFeesMax = 0.05; SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""), new User { Id = 6 }, TimeProvider.Today, _savingsProduct, null) { InterestRate = 0.15, FlatTransferFees = 3, DepositFees = 5, CloseFees = 6, ManagementFees = 7, AgioFees = 8 }; Client client = new Person { Id = 6, LastName = "El Fanidi" }; _savingManagerMock = new DynamicMock(typeof(SavingManager)); _savingEventManagerMock = new DynamicMock(typeof(SavingEventManager)); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 1, 6); _savingManagerMock.ExpectAndReturn("Add", 1, saving, client, null); _savingServices = new SavingServices((SavingManager)_savingManagerMock.MockInstance, (SavingEventManager)_savingEventManagerMock.MockInstance, new User { Id = 6 }); try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.WithdrawFeesIsInvalid, (int)exception.Code); } saving.RateWithdrawFees = 0; try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.WithdrawFeesIsInvalid, (int)exception.Code); } saving.RateWithdrawFees = 0.06; try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.WithdrawFeesIsInvalid, (int)exception.Code); } saving.RateWithdrawFees = 0.03; Assert.AreEqual(1, _savingServices.SaveContract(saving, client)); saving.Product.RateWithdrawFees = 0.02; saving.Product.RateWithdrawFeesMin = null; saving.Product.RateWithdrawFeesMax = null; _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 2, 6); _savingManagerMock.ExpectAndReturn("Add", 2, saving, client, null); saving.RateWithdrawFees = null; try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.WithdrawFeesIsInvalid, (int)exception.Code); } saving.RateWithdrawFees = 0.01; try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.WithdrawFeesIsInvalid, (int)exception.Code); } saving.RateWithdrawFees = 0.03; try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.WithdrawFeesIsInvalid, (int)exception.Code); } saving.RateWithdrawFees = 0.02; Assert.AreEqual(2, _savingServices.SaveContract(saving, client)); }
public void TestSavingIsValid_InterestRate() { Assert.Ignore(); SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""), new User { Id = 6 }, TimeProvider.Today, _savingsProduct, null) { FlatWithdrawFees = 3, FlatTransferFees = 3, DepositFees = 5, CloseFees = 6, ManagementFees = 7 }; Client client = new Person { Id = 6, LastName = "El Fanidi" }; _savingManagerMock = new DynamicMock(typeof(SavingManager)); _savingEventManagerMock = new DynamicMock(typeof(SavingEventManager)); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 1, 6); _savingManagerMock.ExpectAndReturn("Add", 1, saving, client, null); _savingServices = new SavingServices((SavingManager)_savingManagerMock.MockInstance, (SavingEventManager)_savingEventManagerMock.MockInstance, new User { Id = 6 }); //Test InterestRate is valid (between min/max) saving.InterestRate = 0.11; try { _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.AgioFeesIsInvalid, (int)exception.Code); } try { _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 2, 6); _savingManagerMock.ExpectAndReturn("Add", 2, saving, client, null); saving.InterestRate = 0.12; _savingServices.SaveContract(saving, client); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 3, 6); _savingManagerMock.ExpectAndReturn("Add", 3, saving, client, null); saving.InterestRate = 0.13; _savingServices.SaveContract(saving, client); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 4, 6); _savingManagerMock.ExpectAndReturn("Add", 4, saving, client, null); saving.InterestRate = 0.16; _savingServices.SaveContract(saving, client); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 5, 6); _savingManagerMock.ExpectAndReturn("Add", 5, saving, client, null); saving.InterestRate = 0.19; _savingServices.SaveContract(saving, client); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 6, 6); _savingManagerMock.ExpectAndReturn("Add", 6, saving, client, null); saving.InterestRate = 0.20; _savingServices.SaveContract(saving, client); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 7, 6); _savingManagerMock.ExpectAndReturn("Add", 7, saving, client, null); saving.InterestRate = 0.21; } catch (OpenCbsSavingException exception) { Assert.Fail(exception.Code.ToString()); } try { _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 8, 6); _savingManagerMock.ExpectAndReturn("Add", 8, saving, client, null); _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.InterestRateIsInvalid, (int)exception.Code); } //Test InterestRate is valid (equals to required value) //Create a product with min/max InterestRate _savingsProduct.InterestRate = 0.15; _savingsProduct.InterestRateMin = null; _savingsProduct.InterestRateMax = null; saving.InterestRate = 0.14; try { _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 9, 6); _savingManagerMock.ExpectAndReturn("Add", 9, saving, client, null); _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.InterestRateIsInvalid, (int)exception.Code); } _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 10, 6); _savingManagerMock.ExpectAndReturn("Add", 10, saving, client, null); saving.InterestRate = 0.15; _savingServices.SaveContract(saving, client); saving.InterestRate = 0.16; try { _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 11, 6); _savingManagerMock.ExpectAndReturn("Add", 11, saving, client, null); _savingServices.SaveContract(saving, client); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.InterestRateIsInvalid, (int)exception.Code); } }
public void TestSavingIsValid_InitialAmountCorrect() { // Assert.Ignore(); SavingBookContract saving = new SavingBookContract( ApplicationSettings.GetInstance(""), new User { Id = 6 }, TimeProvider.Today, _savingsProduct, null) { InterestRate = 0.13, FlatWithdrawFees = 3, FlatTransferFees = 3, DepositFees = 5, CloseFees = 6, ManagementFees = 7, AgioFees = 6 }; Client client = new Person { Id = 6, LastName = "El Fanidi", Branch = new Branch()}; _savingManagerMock = new DynamicMock(typeof(SavingManager)); _savingEventManagerMock = new DynamicMock(typeof(SavingEventManager)); DynamicMock connectionMock = new DynamicMock(typeof(SqlConnection)); DynamicMock transactionMock = new DynamicMock(typeof(SqlTransaction)); connectionMock.SetReturnValue("BeginTransaction", transactionMock.MockInstance); _savingManagerMock.SetReturnValue("GetConnection", connectionMock.MockInstance); _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 1, 6); _savingManagerMock.ExpectAndReturn("Add", 1, saving, client, transactionMock.MockInstance); _savingServices = new SavingServices( (SavingManager)_savingManagerMock.MockInstance, (SavingEventManager)_savingEventManagerMock.MockInstance, new User { Id = 6 } ); try { Assert.GreaterOrEqual(_savingServices.SaveContract(saving, client), 0); saving = new SavingBookContract( ApplicationSettings.GetInstance(""), new User { Id = 6 }, TimeProvider.Today, _savingsProduct, null) { InterestRate = 0.13, FlatWithdrawFees = 3, FlatTransferFees = 3, DepositFees = 5, CloseFees = 6, ManagementFees = 7, AgioFees = 6 }; _savingManagerMock.ExpectAndReturn("GetNumberOfSavings", 2, 6); _savingManagerMock.ExpectAndReturn("Add", 2, saving, client, transactionMock.MockInstance); Assert.GreaterOrEqual(_savingServices.SaveContract(saving, client), 0); } catch (OpenCbsSavingException exception) { Assert.Fail(exception.Code.ToString()); } }
public void TestUpdateCity() { City city = new City {Name = "Pekin", DistrictId = 12}; List<City> cities = new List<City> {city}; DynamicMock mockLocationsManager = new DynamicMock(typeof(LocationsManager)); mockLocationsManager.ExpectAndReturn("AddCity", 3, city); mockLocationsManager.SetReturnValue("GetCities", cities); mockLocationsManager.ExpectAndReturn("UpdateCity", true, city); LocationsManager mocklocationManager = (LocationsManager)mockLocationsManager.MockInstance; LocationServices locationService = new LocationServices(mocklocationManager); Assert.AreEqual("Pekin", locationService.GetCities()[0].Name); Assert.AreEqual(true, locationService.UpdateCity(city)); }
public void TestUpdateDistrict() { Province provinceOne = new Province(2, "Pekin"); District district = new District("Pekin", provinceOne); List<District> districts = new List<District> {district}; DynamicMock mockLocationsManager = new DynamicMock(typeof (LocationsManager)); mockLocationsManager.SetReturnValue("GetDistricts", districts); mockLocationsManager.ExpectAndReturn("UpdateDistrict", true, district); LocationsManager mocklocationManager = (LocationsManager) mockLocationsManager.MockInstance; LocationServices locationService = new LocationServices(mocklocationManager); Assert.AreEqual("Pekin", locationService.GetDistricts()[0].Name); Assert.AreEqual(true, locationService.UpdateDistrict(district)); }
public void ShouldNotApplyBackgroundToRunningStreams() { const string units = "V"; const MultiClampInterop.OperatingMode vclampMode = MultiClampInterop.OperatingMode.VClamp; const MultiClampInterop.OperatingMode iclampMode = MultiClampInterop.OperatingMode.IClamp; var c = new Controller(); var mc = new FakeMulticlampCommander(); var vclampBackground = new Measurement(2, -3, units); var background = new Dictionary<MultiClampInterop.OperatingMode, IMeasurement>() { { vclampMode, vclampBackground } }; var dataVClamp = new MultiClampInterop.MulticlampData() { OperatingMode = vclampMode, ExternalCommandSensitivity = 2.5, ExternalCommandSensitivityUnits = MultiClampInterop.ExternalCommandSensitivityUnits.V_V }; var daq = new DynamicMock(typeof(IDAQController)); var s = new DAQOutputStream("test", daq.MockInstance as IDAQController); var mcd = new MultiClampDevice(mc, c, background); mcd.BindStream(s); daq.ExpectAndReturn("get_Running", true); daq.ExpectNoCall("ApplyStreamBackground"); mc.FireParametersChanged(DateTimeOffset.Now, dataVClamp); daq.Verify(); }
private IParsable CreateMockParser(UInt32 expectedReportItemCount) { var control = new DynamicMock(typeof(IParsable)); control.ExpectAndReturn("GetBytes", code, null); var reportItemList = new List<ReportItem>(); for (UInt32 i = 0; i < expectedReportItemCount; i++) { reportItemList.Add(new ReportItem(i, false)); } control.ExpectAndReturn("get_ExpectedReportItems", reportItemList.AsReadOnly(), null); control.ExpectAndReturn("get_ExpectedReportItems", reportItemList.AsReadOnly(), null); return control.MockInstance as IParsable; }
public void TestAddCondition_CreateNewCondition() { //set up environment IPolicy policy = PolicyFactory.CreatePolicy("TestPolicy", m_policySet, PolicyStatus.Active, "None"); IConditionGroup rootConditionGroup = (IConditionGroup)policy.Conditions[0]; DynamicMock conditionsResourceSelectForm = new DynamicMock(typeof(IConditionsResourceSelectorForm)); //set up test object AddConditionState state1 = new AddConditionStateTester(); state1.Policy = policy; state1.StateMachine = (IStateMachine)m_stateMachine.MockInstance; state1.ConditionGroup = rootConditionGroup; //state1.ConditionMethodDisplay = new ConditionDisplayContentInFileContext(); state1.Source = AddConditionState.ConditionSource.New; state1.SelectionUI = conditionsResourceSelectForm.MockInstance; IPolicyObjectCollection<IPolicyObject> selectedConditions = new PolicyObjectCollection<IPolicyObject>(); ICondition condition1 = ConditionUnitFactory.CreateCondition(ConditionUnitFactory.PreDefinedConditionType.ContentInFileContext); selectedConditions.Add(condition1); conditionsResourceSelectForm.ExpectAndReturn("get_SelectedConditions", selectedConditions, new object[0]); //test conditions group is empty Assert.AreEqual(0, rootConditionGroup.Conditions.Count, "Unexpected number of conditions in conditionGroup.Conditions"); //add new condition IState showConditionsState = new ShowConditionsState(); m_stateMachine.ExpectAndReturn("GetState", showConditionsState, StateTypeEnum.ShowConditions); m_stateMachine.Expect("SetState", showConditionsState); state1.Enter(); //test condition group Assert.AreEqual(1, rootConditionGroup.Conditions.Count, "Unexpected number of conditions in conditionGroup.Conditions"); //test condition ICondition condition = rootConditionGroup.Conditions[0] as ICondition; Assert.IsNotNull(condition, "unexpected object type in condition"); Assert.AreSame(rootConditionGroup, condition.Parent, "Unexpected object in condition.Parent"); Assert.AreEqual("", condition.Name.Value, "unexpected condition name"); Assert.AreEqual(OperatorType.GreaterThan, condition.Operator, "unexpected name in condition"); Assert.AreEqual("IDataLengthComparer", condition.Class, "unexpected class in condition"); Assert.AreEqual(Guid.Empty, condition["Ignore"].Identifier, "unexpected identifier on Ignore attribute on condition"); Assert.AreEqual(Boolean.FalseString, condition["Ignore"].Value, "unexpected value on Ignore attribute on condition"); //condition.dataleft IDataElement dataElement = condition.DataLeft as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition.dataleft"); Assert.AreEqual(Guid.Empty, dataElement.DisplayName.Identifier, "unexpected displayname identifier in condition.dataleft"); Assert.AreEqual("", dataElement.DisplayName.Value, "unexpected display name in condition.dataleft"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataleft"); Assert.AreEqual("contentInFileContext", dataElement.Name.Value, "unexpected name in condition.dataleft"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition.dataleft"); Assert.AreEqual(DataType.Object, dataElement.Type, "unexpected type in condition.dataleft"); //condition.dataleft.data IDataSource dataSource = dataElement.Data as IDataSource; Assert.IsNotNull(dataSource, "unexpected object type in condition.dataleft.data"); Assert.AreEqual("Workshare.Policy.Condition.ContentAnalysis.dll", dataSource.Assembly, "unexpected assembly in condition.dataleft.data"); Assert.AreEqual("Workshare.Policy.Condition.ContentAnalysis", dataSource.Class, "unexpected class in condition.dataleft.data"); Assert.AreEqual(Guid.Empty, dataSource.Name.Identifier, "unexpected name identifier in condition.dataleft.data"); Assert.AreEqual("Workshare.Policy.Condition.ContentAnalysis", dataSource.Name.Value, "unexpected name in condition.dataleft.data"); //condition.dataleft.data.method IDataMethod dataMethod = dataSource.Method as IDataMethod; Assert.IsNotNull(dataMethod, "unexpected object type in condition.dataleft.data.method"); Assert.AreEqual(Guid.Empty, dataMethod.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method"); Assert.AreEqual("TextLookupInFileType", dataMethod.Name.Value, "unexpected name in condition.dataleft.data.method"); Assert.AreEqual(5, dataMethod.Parameters.Count, "unexpected number of parameters in condition.dataleft.data.method"); //condition.dataleft.data.method.parameters[0] IParameter parameter = dataMethod.Parameters[0]; Assert.AreEqual(Guid.Empty, parameter.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[0]"); Assert.AreEqual("file", parameter.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[0]"); //condition.dataleft.data.method.parameters[0].value dataElement = dataMethod.Parameters[0].Value as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition.dataleft.data.method.parameters[0].value"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[0].value"); Assert.AreEqual("file", dataElement.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[0].value"); Assert.AreEqual(Guid.Empty, dataElement.DisplayName.Identifier, "unexpected displayname identifier in condition.dataleft.data.method.parameters[0].value"); Assert.AreEqual("", dataElement.DisplayName.Value, "unexpected displayname in condition.dataleft.data.method.parameters[0].value"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[0].value"); Assert.AreEqual(DataType.Object, dataElement.Type, "unexpected datatype in condition.dataleft.data.method.parameters[0].value"); //condition.dataleft.data.method.parameters[0].value.data dataSource = dataElement.Data as IDataSource; Assert.IsNotNull(dataSource, "unexpected object type in condition.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual("this", dataSource.Assembly, "unexpected assembly in condition.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual("this", dataSource.Class, "unexpected class in condition.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual(Guid.Empty, dataSource.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual("this", dataSource.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[0].value.data"); //condition.dataleft.data.method.parameters[0].value.data.method IDataMethod fileDataMethod = dataSource.Method as IDataMethod; Assert.IsNotNull(fileDataMethod, "unexpected object type in condition.dataleft.data.method.parameters[0].value.data.method"); Assert.AreEqual(Guid.Empty, fileDataMethod.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[0].value.data.method"); Assert.AreEqual("CurrentFile", fileDataMethod.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[0].value.data.method"); Assert.AreEqual(0, fileDataMethod.Parameters.Count, "unexpected number of parameters in condition.dataleft.data.method.parameters[0].value.data.method"); //condition1copy.dataleft.data.method.parameters[1] parameter = dataMethod.Parameters[1]; Assert.AreEqual(Guid.Empty, parameter.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[1]"); Assert.AreEqual("fileTypes", parameter.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[1]"); //condition1copy.dataleft.data.method.parameters[1].value dataElement = dataMethod.Parameters[1].Value as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual("fileTypes", dataElement.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(Guid.Empty, dataElement.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual("", dataElement.DisplayName.Value, "unexpected displayname in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(DataType.StringArray, dataElement.Type, "unexpected datatype in condition1copy.dataleft.data.method.parameters[1].value"); //condition.dataleft.data.method.parameters[1].value.data IPolicyObjectCollection<IDataItem> collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collection, "unexpected object type in condition.dataleft.data.method.parameters[1].value.data"); Assert.AreEqual(5, collection.Count, "unexpected number of items in condition.dataleft.data.method.parameters[1].value.data"); //condition.dataleft.data.method.parameters[1].value.data[0] IDataItem dataItem = collection[0] as IDataItem; Assert.IsNotNull(dataItem, "unexpected object type in condition.dataleft.data.method.parameters[1].value.data[0]"); Assert.AreEqual(Guid.Empty, dataItem.Name.Identifier, "unexpected displayname identifier in condition.dataleft.data.method.parameters[1].value"); Assert.AreEqual("", dataItem.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[1].value.data[0]"); Assert.AreEqual(false, dataItem.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[1].value.data[0]"); Assert.AreEqual(Enum.GetName(typeof(Workshare.Policy.FileType), Workshare.Policy.FileType.WordDocument), dataItem.Value, "unexpected value in condition.dataleft.data.method.parameters[1].value.data[0]"); //condition.dataleft.data.method.parameters[2] parameter = dataMethod.Parameters[2]; Assert.AreEqual(Guid.Empty, parameter.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[2]"); Assert.AreEqual("content", parameter.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[2]"); //condition.dataleft.data.method.parameters[2].value dataElement = dataMethod.Parameters[2].Value as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition.dataleft.data.method.parameters[2].value"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[2].value"); Assert.AreEqual("content", dataElement.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[2].value"); Assert.AreEqual(Guid.Empty, dataElement.DisplayName.Identifier, "unexpected displayname identifier in condition.dataleft.data.method.parameters[2].value"); Assert.AreEqual("word or phrase", dataElement.DisplayName.Value, "unexpected displayname in condition.dataleft.data.method.parameters[2].value"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[2].value"); Assert.AreEqual(DataType.StringArray, dataElement.Type, "unexpected datatype in condition.dataleft.data.method.parameters[2].value"); //condition.dataleft.data.method.parameters[2].value.data collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collection, "unexpected object type in condition.dataleft.data.method.parameters[2].value.data"); Assert.AreEqual(0, collection.Count, "unexpected number of items in condition.dataleft.data.method.parameters[2].value.data"); //condition.dataleft.data.method.parameters[3] parameter = dataMethod.Parameters[3]; Assert.AreEqual(Guid.Empty, parameter.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[3]"); Assert.AreEqual("context", parameter.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[3]"); //condition.dataleft.data.method.parameters[3].value dataElement = dataMethod.Parameters[3].Value as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition.dataleft.data.method.parameters[3].value"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[3].value"); Assert.AreEqual("context", dataElement.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[3].value"); Assert.AreEqual(Guid.Empty, dataElement.DisplayName.Identifier, "unexpected displayname identifier in condition.dataleft.data.method.parameters[3].value"); Assert.AreEqual("", dataElement.DisplayName.Value, "unexpected displayname in condition.dataleft.data.method.parameters[3].value"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[3].value"); Assert.AreEqual(DataType.StringArray, dataElement.Type, "unexpected datatype in condition.dataleft.data.method.parameters[3].value"); //condition.dataleft.data.method.parameters[3].value.data collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collection, "unexpected object type in condition.dataleft.data.method.parameters[3].value.data"); Assert.AreEqual(1, collection.Count, "unexpected number of items in condition.dataleft.data.method.parameters[3].value.data"); //condition.dataleft.data.method.parameters[3].value.data[0] dataItem = collection[0] as IDataItem; Assert.IsNotNull(dataItem, "unexpected object type in condition.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual(Guid.Empty, dataItem.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual("", dataItem.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual(false, dataItem.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual("Paragraph", dataItem.Value, "unexpected value in condition.dataleft.data.method.parameters[3].value.data[0]"); //condition.dataleft.data.method.parameters[4].value dataElement = dataMethod.Parameters[4].Value as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition.dataleft.data.method.parameters[4].value"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[4].value"); Assert.AreEqual("matchWholeWords", dataElement.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[4].value"); Assert.AreEqual(Guid.Empty, dataElement.DisplayName.Identifier, "unexpected displayname identifier in condition.dataleft.data.method.parameters[4].value"); Assert.AreEqual("", dataElement.DisplayName.Value, "unexpected displayname in condition.dataleft.data.method.parameters[4].value"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[4].value"); Assert.AreEqual(DataType.BooleanArray, dataElement.Type, "unexpected datatype in condition.dataleft.data.method.parameters[4].value"); //condition.dataleft.data.method.parameters[4].value.data collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collection, "unexpected object type in condition.dataleft.data.method.parameters[4].value.data"); Assert.AreEqual(1, collection.Count, "unexpected number of items in condition.dataleft.data.method.parameters[4].value.data"); //condition.dataleft.data.method.parameters[4].value.data[0] dataItem = collection[0] as IDataItem; Assert.IsNotNull(dataItem, "unexpected object type in condition.dataleft.data.method.parameters[4].value.data[0]"); Assert.AreEqual(Guid.Empty, dataItem.Name.Identifier, "unexpected name identifier in condition.dataleft.data.method.parameters[4].value.data[0]"); Assert.AreEqual("", dataItem.Name.Value, "unexpected name in condition.dataleft.data.method.parameters[4].value.data[0]"); Assert.AreEqual(false, dataItem.ReadOnly, "unexpected readonly in condition.dataleft.data.method.parameters[4].value.data[0]"); Assert.AreEqual(true, dataItem.Value, "unexpected value in condition.dataleft.data.method.parameters[4].value.data[0]"); //condition.dataright dataElement = condition.DataRight as IDataElement; Assert.IsNotNull(dataElement, "unexpected object type in condition.dataright"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataright"); Assert.AreEqual("", dataElement.DisplayName.Value, "unexpected display name in condition.dataright"); Assert.AreEqual(Guid.Empty, dataElement.Name.Identifier, "unexpected name identifier in condition.dataright"); Assert.AreEqual("numberOfOccurrences", dataElement.Name.Value, "unexpected name in condition.dataright"); Assert.AreEqual(false, dataElement.ReadOnly, "unexpected readonly in condition.dataright"); Assert.AreEqual(DataType.Long, dataElement.Type, "unexpected type in condition.dataright"); //condition.dataright.data dataItem = dataElement.Data as IDataItem; Assert.IsNotNull(dataItem, "unexpected object type in condition.dataright.data"); Assert.AreEqual(Guid.Empty, dataItem.Name.Identifier, "unexpected name identifier in condition.dataright.data"); Assert.AreEqual("", dataItem.Name.Value, "unexpected name in condition.dataright.data"); Assert.AreEqual(false, dataItem.ReadOnly, "unexpected readonly in condition.dataright.data"); Assert.AreEqual(0, dataItem.Value, "unexpected value in condition.dataright"); //test state machine state m_stateMachine.Verify(); conditionsResourceSelectForm.Verify(); //set up another test object AddConditionState state2 = new AddConditionStateTester(); state2.Policy = policy; state2.StateMachine = (IStateMachine)m_stateMachine.MockInstance; state2.ConditionGroup = rootConditionGroup; //state2.ConditionMethodDisplay = new ConditionDisplayFileSize(); state2.SelectionUI = conditionsResourceSelectForm.MockInstance; state2.Source = AddConditionState.ConditionSource.New; condition1 = ConditionUnitFactory.CreateCondition(ConditionUnitFactory.PreDefinedConditionType.FileSize); selectedConditions.Add(condition1); conditionsResourceSelectForm.ExpectAndReturn("get_SelectedConditions", selectedConditions, new object[0]); //add another new condition m_stateMachine.ExpectAndReturn("GetState", showConditionsState, StateTypeEnum.ShowConditions); m_stateMachine.Expect("SetState", showConditionsState); state2.Enter(); //test condition group Assert.AreEqual(2, rootConditionGroup.Conditions.Count, "Unexpected number of conditions in conditionGroup.Conditions"); //test condition ICondition condition2 = rootConditionGroup.Conditions[1] as ICondition; Assert.IsNotNull(condition2, "Unexpected object type in condition"); Assert.AreSame(rootConditionGroup, condition2.Parent, "Unexpected object in condition.Parent"); //test state machine state m_stateMachine.Verify(); conditionsResourceSelectForm.Verify(); }
public void TestAddCondition_AddFromCatalogue() { //set up environment IPolicy policy = PolicyFactory.CreatePolicy("TestPolicy", m_policySet, PolicyStatus.Active, "None"); IConditionGroup rootConditionGroup = (IConditionGroup)policy.Conditions[0]; DynamicMock conditionsCatalogueSelectForm = new DynamicMock(typeof(IConditionsCatalogueSelectorForm)); //set up test object AddConditionState state = new AddConditionStateTester(); state.Policy = policy; state.StateMachine = (IStateMachine)m_stateMachine.MockInstance; state.ConditionGroup = rootConditionGroup; //state.ConditionMethodDisplay = null; state.Source = AddConditionState.ConditionSource.FromCatalogue; state.SelectionUI = conditionsCatalogueSelectForm.MockInstance; //test conditions group is empty Assert.AreEqual(0, rootConditionGroup.Conditions.Count, "Unexpected number of conditions in conditionGroup.Conditions"); //add new condition IState showConditionsState = new ShowConditionsState(); m_stateMachine.ExpectAndReturn("GetState", showConditionsState, StateTypeEnum.ShowConditions); m_stateMachine.Expect("SetState", showConditionsState); IPolicyObjectCollection<IPolicyObject> selectedConditions = new PolicyObjectCollection<IPolicyObject>(); ICondition condition1 = ConditionUnitFactory.CreateCondition(ConditionUnitFactory.PreDefinedConditionType.ContentInFileContext); ICondition condition2 = ConditionUnitFactory.CreateCondition(ConditionUnitFactory.PreDefinedConditionType.ContentInFileName); ICondition condition3 = ConditionUnitFactory.CreateCondition(ConditionUnitFactory.PreDefinedConditionType.FileSize); selectedConditions.Add(condition1); selectedConditions.Add(condition2); selectedConditions.Add(condition3); conditionsCatalogueSelectForm.ExpectAndReturn("get_SelectedConditions", selectedConditions, new object[0]); state.Enter(); //test root condition group Assert.AreEqual(3, rootConditionGroup.Conditions.Count, "Unexpected number of conditions in conditionGroup.Conditions"); //test conditions ICondition condition1Copy = rootConditionGroup.Conditions[0] as ICondition; ICondition condition2Copy = rootConditionGroup.Conditions[1] as ICondition; ICondition condition3Copy = rootConditionGroup.Conditions[2] as ICondition; //condition1 Assert.IsNotNull(condition1Copy, "unexpected object type in condition"); Assert.AreEqual(condition1.Name.Value, condition1Copy.Name.Value, "unexpected condition name"); Assert.AreEqual(condition1.Operator, condition1Copy.Operator, "unexpected name in condition"); Assert.AreEqual(condition1.Class, condition1Copy.Class, "unexpected class in condition"); Assert.AreEqual(condition1["preDefinedConditionType"].Identifier, condition1Copy["preDefinedConditionType"].Identifier, "unexpected pre-defined condition type"); Assert.AreEqual(condition1["preDefinedConditionType"].Value, condition1Copy["preDefinedConditionType"].Value, "unexpected pre-defined condition type"); Assert.AreEqual(condition1["Ignore"].Identifier, condition1Copy["Ignore"].Identifier, "unexpected identifier on Ignore attribute on condition1"); Assert.AreEqual(condition1["Ignore"].Value, condition1Copy["Ignore"].Value, "unexpected value on Ignore attribute on condition1"); //condition1copy.dataleft IDataElement dataLeft = condition1.DataLeft as IDataElement; IDataElement dataLeftCopy = condition1Copy.DataLeft as IDataElement; Assert.AreEqual(dataLeft.DisplayName.Identifier, dataLeftCopy.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataleft"); Assert.AreEqual(dataLeft.DisplayName.Value, dataLeftCopy.DisplayName.Value, "unexpected display name in condition1copy.dataleft"); Assert.AreEqual(dataLeft.Name.Identifier, dataLeftCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft"); Assert.AreEqual(dataLeft.Name.Value, dataLeftCopy.Name.Value, "unexpected name in condition1copy.dataleft"); Assert.AreEqual(dataLeft.ReadOnly, dataLeftCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft"); Assert.AreEqual(dataLeft.Type, dataLeftCopy.Type, "unexpected type in condition1copy.dataleft"); //condition1copy.dataleft.data IDataSource dataSource = dataLeft.Data as IDataSource; IDataSource dataSourceCopy = dataLeftCopy.Data as IDataSource; Assert.AreEqual(dataSource.Assembly, dataSourceCopy.Assembly, "unexpected assembly in condition1copy.dataleft.data"); Assert.AreEqual(dataSource.Class, dataSourceCopy.Class, "unexpected class in condition1copy.dataleft.data"); Assert.AreEqual(dataSource.Name.Identifier, dataSourceCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.dataleft.data"); Assert.AreEqual(dataSource.Name.Value, dataSourceCopy.Name.Value, "unexpected name in condition1copy.dataleft.data"); //condition1copy.dataleft.data.method IDataMethod dataMethod = dataSource.Method as IDataMethod; IDataMethod dataMethodCopy = dataSourceCopy.Method as IDataMethod; Assert.AreEqual(dataMethod.Name.Identifier, dataMethodCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method"); Assert.AreEqual(dataMethod.Name.Value, dataMethodCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method"); Assert.AreEqual(dataMethod.Parameters.Count, dataMethodCopy.Parameters.Count, "unexpected number of parameters in condition1copy.dataleft.data.method"); //condition1copy.dataleft.data.method.parameters[0] IParameter parameter = dataMethod.Parameters[0]; IParameter parameterCopy = dataMethodCopy.Parameters[0]; Assert.AreEqual(parameter.Name.Identifier, parameterCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[0]"); Assert.AreEqual(parameter.Name.Value, parameterCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[0]"); //condition1copy.dataleft.data.method.parameters[0].value IDataElement dataElement = dataMethod.Parameters[0].Value as IDataElement; IDataElement dataElementCopy = dataMethodCopy.Parameters[0].Value as IDataElement; Assert.AreEqual(dataElement.Name.Identifier, dataElementCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[0].value"); Assert.AreEqual(dataElement.Name.Value, dataElementCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[0].value"); Assert.AreEqual(dataElement.DisplayName.Identifier, dataElementCopy.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataleft.data.method.parameters[0].value"); Assert.AreEqual(dataElement.DisplayName.Value, dataElementCopy.DisplayName.Value, "unexpected displayname in condition1copy.dataleft.data.method.parameters[0].value"); Assert.AreEqual(dataElement.ReadOnly, dataElementCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[0].value"); Assert.AreEqual(dataElement.Type, dataElementCopy.Type, "unexpected datatype in condition1copy.dataleft.data.method.parameters[0].value"); //condition1copy.dataleft.data.method.parameters[0].value.data dataSource = dataElement.Data as IDataSource; dataSourceCopy = dataElementCopy.Data as IDataSource; Assert.AreEqual(dataSource.Assembly, dataSourceCopy.Assembly, "unexpected assembly in condition1copy.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual(dataSource.Class, dataSourceCopy.Class, "unexpected class in condition1copy.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual(dataSource.Name.Identifier, dataSourceCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[0].value.data"); Assert.AreEqual(dataSource.Name.Value, dataSourceCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[0].value.data"); //condition1copy.dataleft.data.method.parameters[0].value.data.method IDataMethod fileDataMethod = dataSource.Method as IDataMethod; IDataMethod fileDataMethodCopy = dataSourceCopy.Method as IDataMethod; Assert.AreEqual(fileDataMethod.Name.Identifier, fileDataMethodCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[0].value.method"); Assert.AreEqual(fileDataMethod.Name.Value, fileDataMethodCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[0].value.data.method"); Assert.AreEqual(fileDataMethod.Parameters.Count, fileDataMethodCopy.Parameters.Count, "unexpected number of parameters in condition1copy.dataleft.data.method.parameters[0].value.data.method"); //condition1copy.dataleft.data.method.parameters[1] parameter = dataMethod.Parameters[1]; parameterCopy = dataMethodCopy.Parameters[1]; Assert.AreEqual(parameter.Name.Identifier, parameterCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[1]"); Assert.AreEqual(parameter.Name.Value, parameterCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[1]"); //condition1copy.dataleft.data.method.parameters[1].value dataElement = parameter.Value as IDataElement; dataElementCopy = parameterCopy.Value as IDataElement; Assert.IsNotNull(dataElementCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(dataElement.Name.Identifier, dataElementCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(dataElement.Name.Value, dataElementCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(dataElement.DisplayName.Identifier, dataElementCopy.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(dataElement.DisplayName.Value, dataElementCopy.DisplayName.Value, "unexpected displayname in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(dataElement.ReadOnly, dataElementCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(DataType.StringArray, dataElement.Type, "unexpected datatype in condition1copy.dataleft.data.method.parameters[1].value"); //condition1copy.dataleft.data.method.parameters[1].value.data IPolicyObjectCollection<IDataItem> collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; IPolicyObjectCollection<IDataItem> collectionCopy = dataElementCopy.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collectionCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[1].value.data"); Assert.AreEqual(collection.Count, collectionCopy.Count, "unexpected number of items in condition1copy.dataleft.data.method.parameters[1].value.data"); //condition1copy.dataleft.data.method.parameters[1].value.data[0] IDataItem dataItem = collection[0] as IDataItem; IDataItem dataItemCopy = collectionCopy[0] as IDataItem; Assert.IsNotNull(dataItemCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[1].value.data[0]"); Assert.AreEqual(dataItem.Name.Identifier, dataItemCopy.Name.Identifier, "unexpected displayname identifier in condition1copy.dataleft.data.method.parameters[1].value"); Assert.AreEqual(dataItem.Name.Value, dataItemCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[1].value.data[0]"); Assert.AreEqual(dataItem.ReadOnly, dataItemCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[1].value.data[0]"); Assert.AreEqual(dataItem.Value, dataItemCopy.Value, "unexpected value in condition1copy.dataleft.data.method.parameters[1].value.data[0]"); //condition1copy.dataleft.data.method.parameters[2] parameter = dataMethod.Parameters[2]; parameterCopy = dataMethodCopy.Parameters[2]; Assert.AreEqual(parameter.Name.Identifier, parameterCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[2]"); Assert.AreEqual(parameter.Name.Value, parameterCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[2]"); //condition1copy.dataleft.data.method.parameters[2].value dataElement = parameter.Value as IDataElement; dataElementCopy = parameter.Value as IDataElement; Assert.IsNotNull(dataElementCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[2].value"); Assert.AreEqual(dataElement.Name.Identifier, dataElementCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[2].value"); Assert.AreEqual(dataElement.Name.Value, dataElementCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[2].value"); Assert.AreEqual(dataElement.DisplayName.Identifier, dataElementCopy.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataleft.data.method.parameters[2].value"); Assert.AreEqual(dataElement.DisplayName.Value, dataElementCopy.DisplayName.Value, "unexpected displayname in condition1copy.dataleft.data.method.parameters[2].value"); Assert.AreEqual(dataElement.ReadOnly, dataElementCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[2].value"); Assert.AreEqual(dataElement.Type, dataElementCopy.Type, "unexpected datatype in condition1copy.dataleft.data.method.parameters[2].value"); //condition1copy.dataleft.data.method.parameters[2].value.data collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; collectionCopy = dataElementCopy.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collectionCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[2].value.data"); Assert.AreEqual(collection.Count, collectionCopy.Count, "unexpected number of items in condition1copy.dataleft.data.method.parameters[2].value.data"); //condition1copy.dataleft.data.method.parameters[3] parameter = dataMethod.Parameters[3]; parameterCopy = dataMethodCopy.Parameters[3]; Assert.AreEqual(parameter.Name.Identifier, parameterCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[3]"); Assert.AreEqual(parameter.Name.Value, parameterCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[3]"); //condition1copy.dataleft.data.method.parameters[3].value dataElement = parameter.Value as IDataElement; dataElementCopy = parameterCopy.Value as IDataElement; Assert.IsNotNull(dataElementCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[3].value"); Assert.AreEqual(dataElement.Name.Identifier, dataElementCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[3].value"); Assert.AreEqual(dataElement.Name.Value, dataElementCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[3].value"); Assert.AreEqual(dataElement.DisplayName.Identifier, dataElementCopy.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataleft.data.method.parameters[3].value"); Assert.AreEqual(dataElement.DisplayName.Value, dataElementCopy.DisplayName.Value, "unexpected displayname in condition1copy.dataleft.data.method.parameters[3].value"); Assert.AreEqual(dataElement.ReadOnly, dataElementCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[3].value"); Assert.AreEqual(dataElement.Type, dataElementCopy.Type, "unexpected datatype in condition1copy.dataleft.data.method.parameters[3].value"); //condition1copy.dataleft.data.method.parameters[3].value.data collection = dataElement.Data as IPolicyObjectCollection<IDataItem>; collectionCopy = dataElementCopy.Data as IPolicyObjectCollection<IDataItem>; Assert.IsNotNull(collectionCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[3].value.data"); Assert.AreEqual(collection.Count, collectionCopy.Count, "unexpected number of items in condition1copy.dataleft.data.method.parameters[3].value.data"); //condition1copy.dataleft.data.method.parameters[3].value.data[0] dataItem = collection[0] as IDataItem; dataItemCopy = collectionCopy[0] as IDataItem; Assert.IsNotNull(dataItemCopy, "unexpected object type in condition1copy.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual(dataItem.Name.Identifier, dataItemCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual(dataItem.Name.Value, dataItemCopy.Name.Value, "unexpected name in condition1copy.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual(dataItem.ReadOnly, dataItemCopy.ReadOnly, "unexpected readonly in condition1copy.dataleft.data.method.parameters[3].value.data[0]"); Assert.AreEqual(dataItem.Value, dataItemCopy.Value, "unexpected value in conditiongroup.conditions[1].dataleft.data.method.parameters[3].value.data[0]"); //condition1copy.dataright IDataElement dataRight = condition1.DataRight as IDataElement; IDataElement dataRightCopy = condition1Copy.DataRight as IDataElement; Assert.AreEqual(Guid.Empty, dataRightCopy.DisplayName.Identifier, "unexpected displayname identifier in condition1copy.dataright"); Assert.AreEqual(dataRight.DisplayName.Value, dataRightCopy.DisplayName.Value, "unexpected display name in condition1copy.dataright"); Assert.AreEqual(dataRight.Name.Identifier, dataRightCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataright"); Assert.AreEqual(dataRight.Name.Value, dataRightCopy.Name.Value, "unexpected name in condition1copy.dataright"); Assert.AreEqual(dataRight.ReadOnly, dataRightCopy.ReadOnly, "unexpected readonly in condition1copy.dataright"); Assert.AreEqual(dataRight.Type, dataRightCopy.Type, "unexpected type in condition1copy.dataright"); //condition1copy.dataright.data dataItem = dataRight.Data as IDataItem; dataItemCopy = dataRightCopy.Data as IDataItem; Assert.AreEqual(dataItem.Name.Identifier, dataItemCopy.Name.Identifier, "unexpected name identifier in condition1copy.dataright.data"); Assert.AreEqual(dataItem.Name.Value, dataItemCopy.Name.Value, "unexpected name in condition1copy.dataright.data"); Assert.AreEqual(dataItem.ReadOnly, dataItemCopy.ReadOnly, "unexpected readonly in condition1copy.dataright.data"); Assert.AreEqual(dataItem.Value, dataItemCopy.Value, "unexpected value in condition1copy.dataright.data"); //condition2copy Assert.IsNotNull(condition2Copy, "unexpected object type in condition2copy"); Assert.AreNotEqual(condition2.Identifier, condition2Copy.Identifier); Assert.AreEqual(condition2.Name.Value, condition2Copy.Name.Value); Assert.AreEqual(condition2.Class, condition2Copy.Class); Assert.AreEqual(condition2.Operator, condition2Copy.Operator); Assert.AreEqual(Guid.Empty, condition2Copy["preDefinedConditionType"].Identifier, "unexpected identifier on pre-defined condition type in conditiongroup"); Assert.AreEqual(condition2["preDefinedConditionType"].Value, condition2Copy["preDefinedConditionType"].Value, "unexpected pre-defined condition type on condition2"); Assert.AreEqual(Guid.Empty, condition2Copy["expressionEntity"].Identifier, "unexpected identifier on \"ExpressionEntity\" attribute in condition2"); Assert.AreEqual(condition2["expressionEntity"].Value, condition2Copy["expressionEntity"].Value, "unexpected \"ExpressionEntity\" attribute in condition2"); //condition2copy.dataleft dataElement = condition2.DataLeft as IDataElement; dataElementCopy = condition2Copy.DataLeft as IDataElement; Assert.AreNotEqual(dataElement.Identifier, dataElementCopy.Identifier, "unexpected identifier in condtion2copy.dataleft"); Assert.AreEqual(dataElement.Name.Identifier, dataElementCopy.Name.Identifier, "unexpected name identifier in condtion2copy.dataleft"); //non-translatable Assert.AreEqual(dataElement.Name.Value, dataElementCopy.Name.Value, "unexpected name in condtion2copy.dataleft"); Assert.AreEqual(dataElement.Type, dataElementCopy.Type, "unexpected type in condtion2copy.dataleft"); Assert.AreEqual(dataElement.DisplayName.Identifier, dataElementCopy.DisplayName.Identifier, "unexpected displayname identifier in condtion2copy.dataleft"); //nontranslateable Assert.AreEqual(dataElement.DisplayName.Value, dataElementCopy.DisplayName.Value, "unexpected displayname in condtion2copy.dataleft"); //condition2copy.dataleft.data dataSource = dataElement.Data as IDataSource; dataSourceCopy = dataElementCopy.Data as IDataSource; Assert.IsNotNull(dataSourceCopy, "unexpected object type in condition2copy.dataleft.data"); Assert.AreNotEqual(dataSource.Identifier, dataSourceCopy.Identifier, "unexpected identifier in condtion2copy.dataleft.data"); Assert.AreEqual(dataSource.Assembly, dataSourceCopy.Assembly, "unexpected assembly in condition2copy.dataleft.data"); Assert.AreEqual(dataSource.Class, dataSourceCopy.Class, "unexpected class in condition2copy.dataleft.data"); Assert.AreEqual(dataSource.Name.Identifier, dataSourceCopy.Name.Identifier, "unexpected name identifier in condition2copy.dataleft.data"); //nontranslateable Assert.AreEqual(dataSource.Name.Value, dataSourceCopy.Name.Value, "unexpected name in condition2copy.dataleft.data"); //assume that lower level copying is working, as we have already tested in condition 1 and it is covered in the //object model tests //condition3Copy Assert.AreNotEqual(condition3.Identifier, condition3Copy.Identifier); Assert.AreEqual(condition3.Name.Value, condition3Copy.Name.Value); Assert.AreEqual(condition3.Class, condition3Copy.Class); Assert.AreEqual(condition3.Operator, condition3Copy.Operator); Assert.AreEqual(Guid.Empty, condition3Copy["preDefinedConditionType"].Identifier, "unexpected identifier on pre-defined condition type in condition3"); Assert.AreEqual(condition3["preDefinedConditionType"].Value, condition3Copy["preDefinedConditionType"].Value, "unexpected pre-defined condition type on condition3"); Assert.AreEqual(Guid.Empty, condition3Copy["expressionEntity"].Identifier, "unexpected identifier on \"ExpressionEntity\" attribute in condition3"); Assert.AreEqual(condition3["expressionEntity"].Value, condition3Copy["expressionEntity"].Value, "unexpected \"ExpressionEntity\" attribute in condition3"); //condition3copy.dataleft dataElement = condition3.DataLeft as IDataElement; dataElementCopy = condition3Copy.DataLeft as IDataElement; Assert.AreNotEqual(dataElement.Identifier, dataElementCopy.Identifier, "unexpected identifier in condtion3copy.dataleft"); Assert.AreEqual(dataElement.Name.Identifier, dataElementCopy.Name.Identifier, "unexpected name identifier in condtion3copy.dataleft"); //non-translatable Assert.AreEqual(dataElement.Name.Value, dataElementCopy.Name.Value, "unexpected name in condtion3copy.dataleft"); Assert.AreEqual(dataElement.Type, dataElementCopy.Type, "unexpected type in condtion3copy.dataleft"); Assert.AreEqual(dataElement.DisplayName.Identifier, dataElementCopy.DisplayName.Identifier, "unexpected displayname identifier in condtion3copy.dataleft"); //nontranslateable Assert.AreEqual(dataElement.DisplayName.Value, dataElementCopy.DisplayName.Value, "unexpected displayname in condtion3copy.dataleft"); //condition3copy.dataleft.data dataSource = dataElement.Data as IDataSource; dataSourceCopy = dataElementCopy.Data as IDataSource; Assert.IsNotNull(dataSource, "unexpected object type in condition3copy.dataleft.data"); Assert.AreNotEqual(dataSource.Identifier, dataSourceCopy.Identifier, "unexpected identifier in condtion3copy.dataleft.data"); Assert.AreEqual(dataSource.Assembly, dataSourceCopy.Assembly, "unexpected assembly in condition3copy.dataleft.data"); Assert.AreEqual(dataSource.Class, dataSourceCopy.Class, "unexpected class in condition3copy.dataleft.data"); Assert.AreEqual(dataSource.Name.Identifier, dataSourceCopy.Name.Identifier, "unexpected name identifier in condition3copy.dataleft.data"); //nontranslateable Assert.AreEqual(dataSource.Name.Value, dataSourceCopy.Name.Value, "unexpected name in condition3copy.dataleft.data"); //assume that lower level copying is working, as we have already tested in condition 1 and it is covered in the //object model tests //test state machine state m_stateMachine.Verify(); }
public void SaveLoan_AddLoan_Person_RaisedException_RollBackObjects() { DynamicMock mockClientManager = new DynamicMock(typeof(ClientManager)); DynamicMock mockLoanManager = new DynamicMock(typeof(LoanManager)); ApplicationSettings.GetInstance("").UpdateParameter(OGeneralSettings.ALLOWSMULTIPLELOANS, false); Loan loan = new Loan { Amount = 11, InterestRate = 1, NbOfInstallments = 2, InstallmentType = new InstallmentType(), AnticipatedTotalRepaymentPenalties = 2, NonRepaymentPenalties = new NonRepaymentPenalties(1, 1, 1, 1), GracePeriod = 2, StartDate = new DateTime(2009, 1, 1), FundingLine = new FundingLine { Currency = new Currency { Code = "Code", Name = "Name" } }, LoanOfficer = new User(), Events = new EventStock(), Product = new LoanProduct { Currency = new Currency { Code = "Code", Name = "Name" } }, InstallmentList = new List<Installment> { _installment1, _installment2 } }; IClient person = new Person { Active = false, LoanCycle = 1 }; mockLoanManager.ExpectAndReturn("Add", 1, loan, 2, null); mockClientManager.Expect("UpdateClientStatus", person, null); mockClientManager.Expect("UpdateClientLoanCycle", person, null); LoanServices loanServices = new LoanServices(null, (ClientManager)mockClientManager.MockInstance, (LoanManager)mockLoanManager.MockInstance); try { loanServices.SaveLoan(ref loan, 2, ref person); //Exception because branchCode is null Assert.Fail(); } catch (Exception) { Assert.AreEqual(0, loan.Id); Assert.AreEqual(DateTime.MinValue, loan.CloseDate); Assert.AreEqual(DateTime.MinValue, loan.CreationDate); Assert.AreEqual(1, person.LoanCycle); } }
public void SaveLoan_AddLoan_Person() { DynamicMock mockClientManager = new DynamicMock(typeof(ClientManager)); DynamicMock mockLoanManager = new DynamicMock(typeof(LoanManager)); ApplicationSettings.GetInstance("").UpdateParameter(OGeneralSettings.ALLOWSMULTIPLELOANS, false); Loan loan = new Loan { Amount = 11, Code = "Test", InterestRate = 1, NbOfInstallments = 2, InstallmentType = new InstallmentType(), AnticipatedTotalRepaymentPenalties = 2, Events = new EventStock(), NonRepaymentPenalties = new NonRepaymentPenalties(1, 1, 1, 1), LoanEntryFeesList = new List<LoanEntryFee>(), GracePeriod = 2, StartDate = new DateTime(2009,1,1), FundingLine = new FundingLine { Currency = new Currency { Code = "Code", Name = "Name" } }, LoanOfficer = new User(), Product = new LoanProduct { Currency = new Currency { Code = "Code", Name = "Name" } }, InstallmentList = new List<Installment>{_installment1,_installment2} }; IClient person = new Person { Active = false, LoanCycle = 1, Branch = new Branch() { Code = "test" } }; mockLoanManager.ExpectAndReturn("Add", 1, loan, 2, null); mockClientManager.Expect("UpdateClientStatus", person, null); mockClientManager.Expect("UpdateClientLoanCycle", person, null); LoanServices loanServices = new LoanServices(null, (ClientManager)mockClientManager.MockInstance, (LoanManager)mockLoanManager.MockInstance); loanServices.SaveLoan(ref loan, 2, ref person); Assert.AreEqual(1, loan.Id); Assert.AreEqual(new DateTime(2009,2,1),loan.CloseDate); Assert.AreEqual(OContractStatus.Pending, loan.ContractStatus); Assert.AreEqual(1, person.LoanCycle); }
public void TestUpdateProvince() { Province provinceOne = new Province(2, "Pekin"); List<Province> provinces = new List<Province> {provinceOne}; DynamicMock mockLocationsManager = new DynamicMock(typeof(LocationsManager)); mockLocationsManager.SetReturnValue("GetProvinces", provinces); mockLocationsManager.ExpectAndReturn("UpdateProvince", true, provinceOne); LocationsManager mocklocationManager = (LocationsManager)mockLocationsManager.MockInstance; LocationServices locationService = new LocationServices(mocklocationManager); Assert.AreEqual("Pekin", locationService.GetProvinces()[0].Name); Assert.AreEqual(true, locationService.UpdateProvince(provinceOne)); }