public void GetAnalysisTimestampsForSimulation_ReturnsProperDto_IfAnalysisTypeGivenByEnum()
        {
            //Arrange
            EFSimulationRepository      repository = new EFSimulationRepository();
            List <AnalysisTimestampDto> timestamps = new List <AnalysisTimestampDto>();
            AnalysisTimestampDto        dto1       = new AnalysisTimestampDto()
            {
                Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, AnalysisTypeId = 2, LastAnalysedItem = new DateTime(2017, 2, 4, 14, 15, 0), LastAnalysedIndex = 100
            };
            AnalysisTimestampDto dto2 = new AnalysisTimestampDto()
            {
                Id = 2, AssetId = 1, TimeframeId = 1, SimulationId = 1, AnalysisTypeId = 3, LastAnalysedItem = null, LastAnalysedIndex = null
            };
            AnalysisTimestampDto dto3 = new AnalysisTimestampDto()
            {
                Id = 3, AssetId = 1, TimeframeId = 2, SimulationId = 1, AnalysisTypeId = 3, LastAnalysedItem = null, LastAnalysedIndex = null
            };
            AnalysisTimestampDto dto4 = new AnalysisTimestampDto()
            {
                Id = 4, AssetId = 1, TimeframeId = 2, SimulationId = 1, AnalysisTypeId = 2, LastAnalysedItem = new DateTime(2017, 2, 4, 14, 15, 0), LastAnalysedIndex = 100
            };

            timestamps.AddRange(new AnalysisTimestampDto[] { dto1, dto2, dto3, dto4 });
            clearSimulationsTables();
            repository.UpdateAnalysisTimestamps(timestamps);

            //Act
            AnalysisTimestampDto dto = repository.GetAnalysisTimestamp(1, 1, 2, AnalysisType.Prices);

            //Assert
            var areEqual = dto4.Equals(dto);

            Assert.IsTrue(areEqual);
        }
        public void GetAnalysisTimestampsForSimulation_ReturnsNull_IfThereIsNoSuchTimestamp()
        {
            //Arrange
            EFSimulationRepository      repository = new EFSimulationRepository();
            List <AnalysisTimestampDto> timestamps = new List <AnalysisTimestampDto>();
            AnalysisTimestampDto        dto1       = new AnalysisTimestampDto()
            {
                Id = 1, AssetId = 1, TimeframeId = 1, SimulationId = 1, AnalysisTypeId = 2, LastAnalysedItem = new DateTime(2017, 2, 4, 14, 15, 0), LastAnalysedIndex = 100
            };
            AnalysisTimestampDto dto2 = new AnalysisTimestampDto()
            {
                Id = 2, AssetId = 1, TimeframeId = 1, SimulationId = 1, AnalysisTypeId = 3, LastAnalysedItem = null, LastAnalysedIndex = null
            };
            AnalysisTimestampDto dto3 = new AnalysisTimestampDto()
            {
                Id = 3, AssetId = 1, TimeframeId = 2, SimulationId = 1, AnalysisTypeId = 3, LastAnalysedItem = null, LastAnalysedIndex = null
            };
            AnalysisTimestampDto dto4 = new AnalysisTimestampDto()
            {
                Id = 4, AssetId = 1, TimeframeId = 2, SimulationId = 1, AnalysisTypeId = 2, LastAnalysedItem = new DateTime(2017, 2, 4, 14, 15, 0), LastAnalysedIndex = 100
            };

            timestamps.AddRange(new AnalysisTimestampDto[] { dto1, dto2, dto3, dto4 });
            clearSimulationsTables();
            repository.UpdateAnalysisTimestamps(timestamps);

            //Act
            AnalysisTimestampDto dto = repository.GetAnalysisTimestamp(1, 1, 1, 4);

            //Assert
            Assert.IsNull(dto);
        }