public void TestInputTrigger() { // Prepare datas Trigger input_Trigger = new TriggerStub(); State state_stub = new StateStub(); State expected_CurrentState = state_stub; FieldInfo current_state_field_info = StateMachineInstance.GetType().GetField("CurrentState", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance); State before_CurrentState = (State)current_state_field_info.GetValue(StateMachineInstance); // Prepare mocks var transition_mock = new TransitionExecuteReturnParticularStateMock(state_stub); transition_mock.HasCalledExecute = false; var transition_matrix_mock = new TransitionMatrixSearchTransitionReturnParticularTransitionMock(transition_mock); transition_matrix_mock.HasCalledSearchTransition = false; FieldInfo transition_matrix_data_field_info = StateMachineInstance.GetType().GetField("TransitionMatrixData", BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Instance); transition_matrix_data_field_info.SetValue(StateMachineInstance, transition_matrix_mock); // Execute StateMachineInstance.InputTrigger(input_Trigger); // Get results State actual_CurrentState = (State)current_state_field_info.GetValue(StateMachineInstance); // Validate Assert.True(transition_matrix_mock.HasCalledSearchTransition); Assert.True(transition_mock.HasCalledExecute); Assert.NotSame(before_CurrentState, actual_CurrentState); Assert.Same(expected_CurrentState, actual_CurrentState); }
public RegularInstanceTest() { State setting_InitialState = new StateStub(); TransitionMatrixStub setting_TransitionMatrix = new TransitionMatrixStub(); StateMachineInstance = new StateMachine(setting_InitialState, setting_TransitionMatrix); }
public static void DeleteArchive(String roomGuid, String lastItemGuidString, Int32 sessionID, String lastActionTicks, String pageUrl, StateStub[] roomState, ChatClientDeleteArchiveStubWebServiceSuccessCallback success, WebServiceFailureCallback failure, object userContext, int timeout) { Dictionary<string, object> p = new Dictionary<string, object>(); p["roomGuid"] = roomGuid; p["lastItemGuidString"] = lastItemGuidString; p["sessionID"] = sessionID; p["lastActionTicks"] = lastActionTicks; p["pageUrl"] = pageUrl; p["roomState"] = roomState; jQueryAjaxOptions o = WebServiceHelper.Options( "DeleteArchive", "/WebServices/Controls/ChatClient/ChatClient.asmx", p, failure, userContext, timeout); o.Success = delegate(object data, string textStatus, jQueryXmlHttpRequest request) { success((DeleteArchiveStub)((Dictionary<string, object>)data)["d"], userContext, "DeleteArchive"); }; jQuery.Ajax(o); }
public void TestSearchTransitionFailedSearchTransitionArgumentOutOfRange() { // Prepare datas var transition_matrix_mock = new TransitionMatrixSearchTransitionThrowArgumentOutOfRangeExceptionMock(); transition_matrix_mock.HasCalledSearchTransition = false; State setting_InitialState = new StateStub(); Trigger input_Trigger = new TriggerStub(); // Prepare mocks FieldInfo field_info = StateMachineInstance.GetType().GetField("TransitionMatrixData", BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Instance); field_info.SetValue(StateMachineInstance, transition_matrix_mock); // Execute & Validate Assert.Throws <InvalidOperationException>(() => StateMachineInstance.InputTrigger(input_Trigger)); }
public void MergesSites() { var state = new StateStub("State"); var importedTrip1 = new ImportedTripStub { Date = DateTime.Now.AddDays(1) }; var site1 = Site.Create(new ImportedSiteStub(importedTrip1) { Coordinates = Coordinates.Create(1, 2), County = "County", Name = "Name", State = state, MakeOwnershipContactInfoPublic = true, OwnershipContactInfo = "OwnershipContactInfo1", OwnershipType = "OwnershipType1", }); var importedTrip2 = new ImportedTripStub { Date = DateTime.Now }; var site2 = Site.Create(new ImportedSiteStub(importedTrip2) { Coordinates = Coordinates.Create(1, 2), County = "County", Name = "Name", State = state, MakeOwnershipContactInfoPublic = false, OwnershipContactInfo = "OwnershipContactInfo2", OwnershipType = "OwnershipType2", }); Assert.IsTrue(site1.ShouldMerge(site2)); site2.Merge(site1); Assert.AreEqual(2, site2.Visits.Count); Assert.IsTrue(site2.MakeOwnershipContactInfoPublic); Assert.AreEqual("OwnershipContactInfo1", site2.OwnershipContactInfo); Assert.AreEqual("OwnershipType1", site2.OwnershipType); }
public void DeterminesWhetherToMergeSites() { var state = new StateStub("State"); var importedTrip = new ImportedTripStub { Date = DateTime.Now }; var site1 = Site.Create(new ImportedSiteStub(importedTrip) { Coordinates = Coordinates.Create(1, 2), County = "County", Name = "Name", State = state }); var site2 = Site.Create(new ImportedSiteStub(importedTrip) { Coordinates = Coordinates.Create(1.3f, 1.7f), County = "County", Name = "Name", State = state }); Assert.IsFalse(site1.ShouldMerge(site2)); Assert.IsFalse(site2.ShouldMerge(site1)); var site3 = Site.Create(new ImportedSiteStub(importedTrip) { Coordinates = Coordinates.Create(1, 2), County = "County", Name = "Name", State = state }); Assert.IsTrue(site3.ShouldMerge(site1)); Assert.IsTrue(site1.ShouldMerge(site3)); Assert.IsFalse(site3.ShouldMerge(site2)); Assert.IsFalse(site2.ShouldMerge(site3)); }
public static void StoreState(StateStub[] roomState, ChatClientBooleanWebServiceSuccessCallback success, WebServiceFailureCallback failure, object userContext, int timeout) { Dictionary<string, object> p = new Dictionary<string, object>(); p["roomState"] = roomState; jQueryAjaxOptions o = WebServiceHelper.Options( "StoreState", "/WebServices/Controls/ChatClient/ChatClient.asmx", p, failure, userContext, timeout); o.Success = delegate(object data, string textStatus, jQueryXmlHttpRequest request) { success((Boolean)((Dictionary<string, object>)data)["d"], userContext, "StoreState"); }; jQuery.Ajax(o); }