コード例 #1
0
 public InMemorySimulationClient(IBuildingSecurityClient buildingSecurityClient, Scheduler scheduler)
 {
     _buildingSecurityClient = buildingSecurityClient as PseudoBuildingSecurityClient;
     Debug.Assert(_buildingSecurityClient != null, "_buildingSecurityClient != null");
     _alarmRepository = _buildingSecurityClient.AlarmRepository;
     _caseRepository = _buildingSecurityClient.CaseRepository;
     _scheduler = scheduler;
     RegisterEventHanders();
 }
コード例 #2
0
        public void UpdateCase_WithDifferentTitle_ChanesCaseTitle()
        {
            //arrange
            var caseRepository = new InMemoryCaseRepository();
            const string caseId = "1";
            const string desiredTitle = "updated title";

            caseRepository.CreateCase(new CaseData{ Id = "1", Title = "Starting Title" });
            var client = GetSimulationClient(caseRepository);

            //act
            client.Run("{events:[{'at':'0.0:0:0.0','name':'UpdateCase','value':{'Id':'" + caseId + "','Title':'" + desiredTitle + "'}}]}");
            Thread.Sleep(200);//Run is asynchronous and as of writing this test one can not provide simulation client with a scheduler that
            //runs everything at once.

            //assert
            Assert.AreEqual(desiredTitle, caseRepository.RetrieveCase(caseId).Title, "UpdateCase failed to update case's title");
        }
コード例 #3
0
 private static InMemorySimulationClient GetSimulationClient(InMemoryCaseRepository caseRepository = null)
 {
     return new InMemorySimulationClient(new PseudoBuildingSecurityClient(caseRepository??new InMemoryCaseRepository()), new Scheduler(TimeSpan.FromMilliseconds(1.0)));
 }
コード例 #4
0
 private static PseudoBuildingSecurityClient GetBuildingSecurityClient(InMemoryCaseRepository caseRepository = null)
 {
     return new PseudoBuildingSecurityClient(caseRepository??new InMemoryCaseRepository());
 }