Beispiel #1
0
        public void readTokenAtExitTestDayPassMultipleTrips()
        {
            var reader = new DigitalReader("Bus", "Victoria");

            sc.updateAccountBalance(50);
            float dpCost   = FareRules.Instance.getDayPassCost();
            float expected = sc.getAccount().getBalance() - dpCost;

            reader.setLocation(RailMap.Instance.getLocation("Edgware Road"));
            reader.readTokenAtEntry(sc.getID());
            reader.setLocation(RailMap.Instance.getLocation("Kings Cross"));
            reader.readTokenAtExit(sc.getID(), "Circle");

            reader.setLocation(RailMap.Instance.getLocation("Kings Cross"));
            reader.readTokenAtEntry(sc.getID());
            reader.setLocation(RailMap.Instance.getLocation("Victoria"));
            float actual = reader.readTokenAtExit(sc.getID(), "Circle");

            Assert.AreEqual(expected, actual);
        }
Beispiel #2
0
        public void readTokenAtExitTestSameStopNoCharge()
        {
            sc.updateAccountBalance(10);
            var reader = new DigitalReader("Train", "Victoria");

            reader.setLocation(RailMap.Instance.getLocation("Baker Street"));
            reader.readTokenAtEntry(sc.getID());
            float expectedBalance = ac.getBalance();

            Assert.AreEqual(expectedBalance, reader.readTokenAtExit(sc.getID(), "Circle"));
        }
Beispiel #3
0
        public void readTokenAtExitTestBasic()
        {
            sc.updateAccountBalance(10);
            var reader = new DigitalReader("Train", "Victoria");

            reader.setLocation(RailMap.Instance.getLocation("Baker Street"));
            reader.readTokenAtEntry(sc.getID());
            reader.setLocation(RailMap.Instance.getLocation("Great Portland Street"));
            float expectedBalance = ac.getBalance() - FareRules.Instance.getCostPerStation();

            Assert.AreEqual(expectedBalance, reader.readTokenAtExit(sc.getID(), "Circle"));
        }
Beispiel #4
0
        public void readTokenAtExitInsufficientFunds()
        {
            sc2.updateAccountBalance(5);
            var reader = new DigitalReader("Train", "Victoria");

            reader.setLocation(RailMap.Instance.getLocation("Baker Street"));
            reader.readTokenAtEntry(sc2.getID());
            reader.setLocation(RailMap.Instance.getLocation("Victoria"));
            float expectedResult = -1f;

            Assert.AreEqual(expectedResult, reader.readTokenAtExit(sc2.getID(), "Circle"));
        }
Beispiel #5
0
        public void readTokenAtExitTestMultipleLines()
        {
            var reader = new DigitalReader("Bus", "Victoria");

            sc.updateAccountBalance(50);
            float expected = sc.getAccount().getBalance() - (FareRules.Instance.getCostPerStation() * 2);

            reader.setLocation(RailMap.Instance.getLocation("Westminster"));
            reader.readTokenAtEntry(sc.getID());
            reader.setLocation(RailMap.Instance.getLocation("Pimlico"));
            float actual = reader.readTokenAtExit(sc.getID(), "Victoria");

            Assert.AreEqual(expected, actual);
        }
Beispiel #6
0
        private void btnExitGate_Click(object sender, EventArgs e)
        {
            float         currentBalance = 0;
            DigitalReader currentReader  = new DigitalReader("Bus", currentLocation);

            try
            {
                currentBalance = currentReader.readTokenAtExit(tokenId, currentLine);// to return float
                if (currentBalance < 0)
                {
                    MessageBox.Show("Invalid Token/Insufficient funds");
                }
                else if (currentBalance >= 0)
                {
                    MessageBox.Show("Remaining Balance: " + currentBalance);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #7
0
        public void readTokenAtExitTestAnotherInvalidId()
        {
            var reader = new DigitalReader("Bus", "Victoria");

            reader.readTokenAtExit(999999, "Circle");
        }
Beispiel #8
0
        public void readTokenAtExitTestNoEntryScan()
        {
            var reader = new DigitalReader("Train", "Victoria");

            reader.readTokenAtExit(sc.getID(), "Circle");
        }