private Mock <ITimeframeRepository> mockedTimeframeRepositoryForUnitTests() { Mock <ITimeframeRepository> mockedRepository = new Mock <ITimeframeRepository>(); TimeframeDto dto = defaultTimeframeDto(); mockedRepository.Setup(s => s.GetTimeframeById(DEFAULT_ID)).Returns(dto); mockedRepository.Setup(s => s.GetTimeframeBySymbol(DEFAULT_NAME)).Returns(dto); return(mockedRepository); }
public void timeframeFromDto_hasSamePropertiesAsDto() { //Act TimeframeDto dto = new TimeframeDto { Id = DEFAULT_ID, Symbol = DEFAULT_NAME, PeriodUnit = DEFAULT_UNIT_TYPE.ToString(), PeriodCounter = DEFAULT_UNITS_COUNTER }; Timeframe timeframe = Timeframe.FromDto(dto); //Assert Assert.AreEqual(DEFAULT_ID, timeframe.GetId()); Assert.AreEqual(DEFAULT_NAME, timeframe.GetName()); Assert.AreEqual(DEFAULT_UNIT_TYPE, timeframe.GetUnitType()); Assert.AreEqual(DEFAULT_UNITS_COUNTER, timeframe.GetUnitsCounter()); }
public void GetTimeframeByName_returnNull_forNonExistingItem() { //Arrange EFTimeframeRepository repository = new EFTimeframeRepository(); TimeframeDto baseDto = getDefaultTimeframeDto(); insertTimeframeToTestDb(baseDto); //Act TimeframeDto dto = repository.GetTimeframeBySymbol(baseDto.Symbol + "a"); //Assert Assert.IsNull(dto); }
public void GetTimeframeById_ReturnsNull_IfDoesntExist() { //Arrange Mock <ITimeframeRepository> mockedRepository = mockedTimeframeRepositoryForUnitTests(); TimeframeDto dto = null; mockedRepository.Setup(c => c.GetTimeframeById(DEFAULT_ID)).Returns(dto); //Act ITimeframeService service = testServiceInstance(mockedRepository); Timeframe Timeframe = service.GetTimeframeById(DEFAULT_ID); //Assert Assert.IsNull(Timeframe); }
public void GetTimeframeByName_ReturnsNull_IfDoesntExist() { //Arrange Mock <ITimeframeRepository> mockedRepository = new Mock <ITimeframeRepository>(); TimeframeDto dto = null; mockedRepository.Setup(s => s.GetTimeframeBySymbol(DEFAULT_NAME)).Returns(dto); //Act ITimeframeService service = testServiceInstance(mockedRepository); Timeframe Timeframe = service.GetTimeframeByName(DEFAULT_NAME); //Assert Assert.IsNull(Timeframe); }
public void GetTimeframeByName_returnProperDto_forExistingItem() { //Arrange EFTimeframeRepository repository = new EFTimeframeRepository(); TimeframeDto baseDto = getDefaultTimeframeDto(); insertTimeframeToTestDb(baseDto); //Act TimeframeDto dto = repository.GetTimeframeBySymbol(baseDto.Symbol); //Assert var areEqual = baseDto.Equals(dto); Assert.IsTrue(areEqual); }
public void GetAllTimeframes_AlreadyExistingCurrencyInstancesAreUsed() { //Arrange Mock <ITimeframeRepository> mockedRepository = new Mock <ITimeframeRepository>(); TimeframeDto[] dtos = getTimeframeDtos(); TimeframeDto dto = dtos[1]; mockedRepository.Setup(r => r.GetTimeframeById(dto.Id)).Returns(dto); mockedRepository.Setup(r => r.GetAllTimeframes()).Returns(dtos); //Act ITimeframeService service = testServiceInstance(mockedRepository); Timeframe timeframe = service.GetTimeframeById(dto.Id); IEnumerable <Timeframe> Timeframes = service.GetAllTimeframes(); //Assert Timeframe fromResultCollection = Timeframes.SingleOrDefault(a => a.GetId() == dto.Id); Assert.AreSame(fromResultCollection, timeframe); }
private void insertTimeframeToTestDb(TimeframeDto timeframe) { const string INSERT_SQL_PATTERN = "INSERT INTO {0}.{1}(Id, Symbol, PeriodCounter, PeriodUnit) VALUES({2}, {3}, {4}, {5});"; string insertSql = string.Format(INSERT_SQL_PATTERN, UNIT_TEST_DB_NAME, TIMEFRAMES_TABLE_NAME, timeframe.Id, timeframe.Symbol.ToDbString(), timeframe.PeriodCounter, timeframe.PeriodUnit.ToDbString()); DbContext context = new UnitTestsDbContext(); try { context.Database.BeginTransaction(); context.ClearTable(UNIT_TEST_DB_NAME, TIMEFRAMES_TABLE_NAME); context.Database.ExecuteSqlCommand(insertSql); context.Database.CurrentTransaction.Commit(); } catch (Exception ex) { context.Database.CurrentTransaction.Rollback(); } }