public void TestClickingTheButtonPassesTheCoinsReturnedFromClearToTheCoinReturn()
        {
            Button         changeReturnButton = new Button();
            MockCoinPurse  mockCoinPurse      = new MockCoinPurse();
            MockCoinReturn mockCoinReturn     = new MockCoinReturn();

            List <ICoin> coinsFromCoinPurse = new List <ICoin>()
            {
                new MockCoin(), new MockCoin()
            };

            mockCoinPurse.CoinsToReturnFromClear = coinsFromCoinPurse;

            new ReturnChangeButtonController(changeReturnButton,
                                             mockCoinPurse, mockCoinReturn);

            changeReturnButton.PerformClick();

            List <ICoin> coinsPassedToCoinReturn = mockCoinReturn.CoinsPassedToAddCoin;

            Assert.AreEqual(coinsFromCoinPurse.Count, coinsPassedToCoinReturn.Count);

            foreach (ICoin coinFromCoinPurse in coinsFromCoinPurse)
            {
                Assert.Contains(coinFromCoinPurse, coinsPassedToCoinReturn);
            }
        }
Пример #2
0
        public void TestRegistersSelfAsObserverWithCoinReturn()
        {
            MockCoinReturn mockCoinReturn = new MockCoinReturn();
            CoinReturnDisplayController coinReturnDisplayController = new CoinReturnDisplayController(new TextBox(),
                                                                                                      mockCoinReturn);

            Assert.AreEqual(1, mockCoinReturn.NumberOfTimesRegisterObserverWasCalled);
            Assert.AreSame(coinReturnDisplayController, mockCoinReturn.ObserversPassedToRegisterObserver[0]);
        }
Пример #3
0
        public void TestProperties()
        {
            MockCoinReturn expectedCoinReturn = new MockCoinReturn();
            TextBox        expectedTextBox    = new TextBox();

            CoinReturnDisplayController coinReturnDisplayController = new CoinReturnDisplayController(expectedTextBox,
                                                                                                      expectedCoinReturn);

            Assert.AreEqual(expectedCoinReturn, coinReturnDisplayController.CoinReturn);
            Assert.AreEqual(expectedTextBox, coinReturnDisplayController.Display);
        }
Пример #4
0
        public void TestInitializesTextOnDisplayToValueOfCoinReturn(decimal valueToReturnFromCoinReturn,
                                                                    string expectedText)
        {
            MockCoinReturn mockCoinReturn = new MockCoinReturn();
            TextBox        displayTextBox = new TextBox();

            mockCoinReturn.ValueToReturnFromAmountAvailable = valueToReturnFromCoinReturn;

            new CoinReturnDisplayController(displayTextBox, mockCoinReturn);

            Assert.AreEqual(expectedText, displayTextBox.Text);
        }
Пример #5
0
        public void TestProperties()
        {
            Button            expectedClearCoinReturnButton = new Button();
            MockCoinReturn    expectedCoinReturn            = new MockCoinReturn();
            MockDialogService expectedDialogService         = new MockDialogService();

            ClearCoinReturnButtonController clearCoinReturnButtonController = new ClearCoinReturnButtonController(expectedClearCoinReturnButton, expectedCoinReturn, expectedDialogService);

            Assert.AreSame(expectedCoinReturn, clearCoinReturnButtonController.CoinReturn);
            Assert.AreSame(expectedClearCoinReturnButton, clearCoinReturnButtonController.Button);
            Assert.AreSame(expectedDialogService, clearCoinReturnButtonController.DialogService);
        }
        public void TestProperties()
        {
            Button expectedClearCoinReturnButton = new Button();
            MockCoinReturn expectedCoinReturn = new MockCoinReturn();
            MockDialogService expectedDialogService = new MockDialogService();

            ClearCoinReturnButtonController clearCoinReturnButtonController = new ClearCoinReturnButtonController(expectedClearCoinReturnButton, expectedCoinReturn, expectedDialogService);

            Assert.AreSame(expectedCoinReturn, clearCoinReturnButtonController.CoinReturn);
            Assert.AreSame(expectedClearCoinReturnButton, clearCoinReturnButtonController.Button);
            Assert.AreSame(expectedDialogService, clearCoinReturnButtonController.DialogService);
        }
        public void TestProperties()
        {
            Button         expectedChangeReturnButton = new Button();
            MockCoinPurse  expectedCoinPurse          = new MockCoinPurse();
            MockCoinReturn expectedCoinReturn         = new MockCoinReturn();

            ReturnChangeButtonController returnChangeButtonController =
                new ReturnChangeButtonController(expectedChangeReturnButton, expectedCoinPurse, expectedCoinReturn);

            Assert.AreEqual(expectedChangeReturnButton, returnChangeButtonController.Button);
            Assert.AreEqual(expectedCoinPurse, returnChangeButtonController.CoinPurse);
            Assert.AreEqual(expectedCoinReturn, returnChangeButtonController.CoinReturn);
        }
        public void TestProperties()
        {
            Button expectedChangeReturnButton = new Button();
            MockCoinPurse expectedCoinPurse = new MockCoinPurse();
            MockCoinReturn expectedCoinReturn = new MockCoinReturn();

            ReturnChangeButtonController returnChangeButtonController =
                new ReturnChangeButtonController(expectedChangeReturnButton, expectedCoinPurse, expectedCoinReturn);

            Assert.AreEqual(expectedChangeReturnButton, returnChangeButtonController.Button);
            Assert.AreEqual(expectedCoinPurse, returnChangeButtonController.CoinPurse);
            Assert.AreEqual(expectedCoinReturn, returnChangeButtonController.CoinReturn);
        }
Пример #9
0
        public void TestClickingButtonCallsClearOnCoinReturn()
        {
            Button         clearCoinReturnButton = new Button();
            MockCoinReturn mockCoinReturn        = new MockCoinReturn();

            ClearCoinReturnButtonController clearCoinReturnButtonController =
                new ClearCoinReturnButtonController(clearCoinReturnButton, mockCoinReturn, new MockDialogService());

            Assert.AreEqual(0, mockCoinReturn.NumberOfTimesClearWasCalled);

            clearCoinReturnButton.PerformClick();

            Assert.AreEqual(1, mockCoinReturn.NumberOfTimesClearWasCalled);
        }
        public void TestClickingButtonCallsClearOnCoinReturn()
        {
            Button clearCoinReturnButton = new Button();
            MockCoinReturn mockCoinReturn = new MockCoinReturn();

            ClearCoinReturnButtonController clearCoinReturnButtonController =
                new ClearCoinReturnButtonController(clearCoinReturnButton, mockCoinReturn, new MockDialogService());

            Assert.AreEqual(0, mockCoinReturn.NumberOfTimesClearWasCalled);

            clearCoinReturnButton.PerformClick();

            Assert.AreEqual(1, mockCoinReturn.NumberOfTimesClearWasCalled);
        }
Пример #11
0
        public void TestClickingButtonDoesNotDisplayDialogIfAmountReturnedIsZero()
        {
            Button            clearCoinReturnButton = new Button();
            MockCoinReturn    mockCoinReturn        = new MockCoinReturn();
            MockDialogService mockDialogService     = new MockDialogService();

            mockCoinReturn.ValueToReturnFromClear = 0;

            new ClearCoinReturnButtonController(clearCoinReturnButton, mockCoinReturn, mockDialogService);

            Assert.AreEqual(0, mockDialogService.NumberOfTimesShowMessageWasCalled);

            clearCoinReturnButton.PerformClick();

            Assert.AreEqual(0, mockDialogService.NumberOfTimesShowMessageWasCalled);
        }
        public void TestClickingButtonDoesNotDisplayDialogIfAmountReturnedIsZero()
        {
            Button clearCoinReturnButton = new Button();
            MockCoinReturn mockCoinReturn = new MockCoinReturn();
            MockDialogService mockDialogService = new MockDialogService();

            mockCoinReturn.ValueToReturnFromClear = 0;

            new ClearCoinReturnButtonController(clearCoinReturnButton, mockCoinReturn, mockDialogService);

            Assert.AreEqual(0, mockDialogService.NumberOfTimesShowMessageWasCalled);

            clearCoinReturnButton.PerformClick();

            Assert.AreEqual(0, mockDialogService.NumberOfTimesShowMessageWasCalled);
        }
Пример #13
0
        public void TestClickingButtonDisplaysDialogInformingUserOfAmountReturedFromClear(decimal amountReturnedByCoinReturn, string expectedFormatedAmount)
        {
            Button            clearCoinReturnButton = new Button();
            MockCoinReturn    mockCoinReturn        = new MockCoinReturn();
            MockDialogService mockDialogService     = new MockDialogService();

            mockCoinReturn.ValueToReturnFromClear = amountReturnedByCoinReturn;
            string expectedDialogText = "You receive: " + expectedFormatedAmount;

            new ClearCoinReturnButtonController(clearCoinReturnButton, mockCoinReturn, mockDialogService);

            Assert.AreEqual(0, mockDialogService.NumberOfTimesShowMessageWasCalled);

            clearCoinReturnButton.PerformClick();

            Assert.AreEqual(1, mockDialogService.NumberOfTimesShowMessageWasCalled);
            Assert.AreEqual(expectedDialogText, mockDialogService.LastMessageShown);
        }
        public void TestClickingButtonDisplaysDialogInformingUserOfAmountReturedFromClear(decimal amountReturnedByCoinReturn, string expectedFormatedAmount)
        {
            Button clearCoinReturnButton = new Button();
            MockCoinReturn mockCoinReturn = new MockCoinReturn();
            MockDialogService mockDialogService = new MockDialogService();

            mockCoinReturn.ValueToReturnFromClear = amountReturnedByCoinReturn;
            string expectedDialogText = "You receive: " + expectedFormatedAmount;

            new ClearCoinReturnButtonController(clearCoinReturnButton, mockCoinReturn, mockDialogService);

            Assert.AreEqual(0, mockDialogService.NumberOfTimesShowMessageWasCalled);

            clearCoinReturnButton.PerformClick();

            Assert.AreEqual(1, mockDialogService.NumberOfTimesShowMessageWasCalled);
            Assert.AreEqual(expectedDialogText, mockDialogService.LastMessageShown);
        }
Пример #15
0
        public void TestUpdatesDisplayTextWithCoinReturnValueWhenCoinReturnUpdatedIsCalled(
            decimal valueToReturnFromCoinReturn, string expectedUpdatedText)
        {
            MockCoinReturn mockCoinReturn = new MockCoinReturn();
            TextBox        displayTextBox = new TextBox();

            CoinReturnDisplayController coinReturnDisplayController = new CoinReturnDisplayController(displayTextBox,
                                                                                                      mockCoinReturn);

            const string expectedStartingAmountBecauseTheMockReturnsAnAmoutOfZeroByDefualt = "$0.00";

            Assert.AreEqual(expectedStartingAmountBecauseTheMockReturnsAnAmoutOfZeroByDefualt, displayTextBox.Text);

            mockCoinReturn.ValueToReturnFromAmountAvailable = valueToReturnFromCoinReturn;

            coinReturnDisplayController.CoinReturnUpdated();

            Assert.AreEqual(expectedUpdatedText, displayTextBox.Text);
        }
        public void TestClickingTheButtonPassesTheCoinsReturnedFromClearToTheCoinReturn()
        {
            Button changeReturnButton = new Button();
            MockCoinPurse mockCoinPurse = new MockCoinPurse();
            MockCoinReturn mockCoinReturn = new MockCoinReturn();

            List<ICoin> coinsFromCoinPurse = new List<ICoin>() {new MockCoin(), new MockCoin()};
            mockCoinPurse.CoinsToReturnFromClear = coinsFromCoinPurse;

            new ReturnChangeButtonController(changeReturnButton,
                mockCoinPurse, mockCoinReturn);

            changeReturnButton.PerformClick();

            List<ICoin> coinsPassedToCoinReturn = mockCoinReturn.CoinsPassedToAddCoin;

            Assert.AreEqual(coinsFromCoinPurse.Count, coinsPassedToCoinReturn.Count);

            foreach (ICoin coinFromCoinPurse in coinsFromCoinPurse)
                Assert.Contains(coinFromCoinPurse, coinsPassedToCoinReturn);
        }