Example #1
0
		public void GetCustomerWinAtUnusualRate_WhenRepositoryDataIsNull_ReturnNull()
		{
			// Arrange
			var stubUnsettledRepository = MockRepository.GenerateStub<IUnsettledRepository>();
			stubUnsettledRepository.Stub(x => x.GetData("")).IgnoreArguments().Return(null);

			// Act
			var sut = new UnsettledBetService(stubUnsettledRepository, null);
			var result = sut.GetCustomerWinAtUnusualRate();

			// Assert
			Assert.IsNull(result);
		}
Example #2
0
		public void GetCustomerWinAtUnusualRate_WhenOneCustomerWinsAtUnusualRate_ReturnCustomerId3()
		{
			// Arrange
			var stubData = new List<IUnsettledBet>
			{
				new UnsettledBet { CustomerId = 1, Stake = 5m, ToWin = 7m},
				new UnsettledBet { CustomerId = 2, Stake = 5m, ToWin = 50m},
				new UnsettledBet { CustomerId = 3, Stake = 5m, ToWin = 100m}
			};

			var stubUnsettledRepository = MockRepository.GenerateStub<IUnsettledRepository>();
			stubUnsettledRepository.Stub(x => x.GetData("")).IgnoreArguments().Return(stubData);

			// Act
			var sut = new UnsettledBetService(stubUnsettledRepository, null);
			var result = sut.GetCustomerWinAtUnusualRate();

			// Assert
			Assert.AreEqual(3, result.Where(x => x.CustomerId == 3).Select(x => x.CustomerId).First());
		}
Example #3
0
		public void GetCustomerWinAtUnusualRate_WhenTwoCustomersWinsAtUnusualRate_ReturnCustomer2and3()
		{
			// Arrange
			var stubData = new List<IUnsettledBet>
			{
				new UnsettledBet { CustomerId = 1, Stake = 5m, ToWin = 20m},
				new UnsettledBet { CustomerId = 2, Stake = 5m, ToWin = 50m},
				new UnsettledBet { CustomerId = 3, Stake = 5m, ToWin = 100m}
			};

			var stubUnsettledRepository = MockRepository.GenerateStub<IUnsettledRepository>();
			stubUnsettledRepository.Stub(x => x.GetData("")).IgnoreArguments().Return(stubData);

			// Act
			var sut = new UnsettledBetService(stubUnsettledRepository, null);
			var result = sut.GetCustomerWinAtUnusualRate().ToList();

			// Assert
			var expected = new[] { 2, 3 };
			var actual = result.Where(x => x.CustomerId == 2 || x.CustomerId == 3).Select(i => i.CustomerId).Distinct().ToArray();

			CollectionAssert.AreEqual(expected, actual);
		}