예제 #1
0
        public void CreateOnlySingleInstanceOfItsClass()
        {
            EndOfChainExpenseHandler instance1 = EndOfChainExpenseHandler.Instance;
            EndOfChainExpenseHandler instance2 = EndOfChainExpenseHandler.Instance;

            Assert.Same(instance1, instance2);
        }
예제 #2
0
        public void DenyAnyExpenseReport(decimal expenseAmount)
        {
            EndOfChainExpenseHandler handler = EndOfChainExpenseHandler.Instance;

            ApprovalResponse response = handler.Approve(new ExpenseReport(expenseAmount));

            Assert.Equal(ApprovalResponse.Denied, response);
        }
예제 #3
0
        public void ThrowInvalidOperationExceptionOnRegisterNext()
        {
            EndOfChainExpenseHandler handler = EndOfChainExpenseHandler.Instance;

            Assert.Throws <InvalidOperationException>(() => handler.RegisterNext(new ExpenseHandler(new Employee("Tom", 500m))));
        }