public void ValidateModel_NewColor_ReturnNewColorWhenCalledMultipleTimes()
 {
     var colorGeneratorService = new ColorGeneratorService();
     var firstColor = colorGeneratorService.GenerateColor();
     var secondColor = colorGeneratorService.GenerateColor();
     Assert.AreNotEqual(firstColor, secondColor, "Expected to generate different color");
 }
 public void ValidateModel_ColorHave7Char_Color()
 {
     var colorGeneratorService = new ColorGeneratorService();
     var result = colorGeneratorService.GenerateColor();
     Assert.AreEqual(7, result.Length, "Expected to have length of 7 chars (#RRGGBB)");
 }
 public void ValidateModel_SameIndexSameColor_ReturnSameColorForSameIndex(int index)
 {
     var colorGeneratorService = new ColorGeneratorService();
     Assert.AreEqual(colorGeneratorService.GenerateColorForIndex(index),
         colorGeneratorService.GenerateColorForIndex(index), "Expected to generate same color for same index");
 }
 public void ValidateModel_NegativeIndex_ReturnTheSameColorAsForPositiveIndex(int index)
 {
     var colorGeneratorService = new ColorGeneratorService();
     Assert.AreEqual(colorGeneratorService.GenerateColorForIndex(index),
         colorGeneratorService.GenerateColorForIndex(index), "Expected to generate same color.");
 }
 public void ValidateModel_ColorStartsWithSharp_Color()
 {
     var colorGeneratorService = new ColorGeneratorService();
     var result = colorGeneratorService.GenerateColor();
     Assert.AreEqual(result[0], '#', "Expected to start with sharp (#RRGGBB)");
 }
 /// <summary>
 ///     Constructor with services and providers required by this service
 /// </summary>
 /// <param name="transactionsProvider"> provider with db access to transactions</param>
 /// <param name="colorGeneratorService">service which can generate colors</param>
 public DashBoardService(ITransactionsProvider transactionsProvider, ColorGeneratorService colorGeneratorService)
 {
     this._transactionsProvider = transactionsProvider;
     this._colorGenerator = colorGeneratorService;
 }