public void DetermineNotesQuantity_WhenAmountIsLessThan0_ShouldReturnInvalidAmountErrorMessage()
        {
            var amount  = -10;
            var service = new NotesInfoService(new DetermineNotesQuantityPipeFactory());

            var notesInfo = service.DetermineNotesQuantity(amount);

            Assert.AreEqual(0, notesInfo.QuantityOf100Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf50Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf20Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf10Notes);
            Assert.AreEqual("Invalid amount", notesInfo.ErrorMessage);
        }
        public void DetermineNotesQuantity_WhenAmountDoesNotEndWith0_ShouldReturnNoteUnavailableErrorMessage()
        {
            var amount  = 125;
            var service = new NotesInfoService(new DetermineNotesQuantityPipeFactory());

            var notesInfo = service.DetermineNotesQuantity(amount);

            Assert.AreEqual(0, notesInfo.QuantityOf100Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf50Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf20Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf10Notes);
            Assert.AreEqual("Note unavailable", notesInfo.ErrorMessage);
        }
        public void DetermineNotesQuantity_WhenAmountIs260_ShouldHave2Of100And1Of50And1Of10()
        {
            var amount  = 260;
            var service = new NotesInfoService(new DetermineNotesQuantityPipeFactory());

            var notesInfo = service.DetermineNotesQuantity(amount);

            Assert.AreEqual(2, notesInfo.QuantityOf100Notes);
            Assert.AreEqual(1, notesInfo.QuantityOf50Notes);
            Assert.AreEqual(0, notesInfo.QuantityOf20Notes);
            Assert.AreEqual(1, notesInfo.QuantityOf10Notes);
            Assert.IsNull(notesInfo.ErrorMessage);
        }