public void CreateOnlySingleInstanceOfItsClass() { EndOfChainExpenseHandler instance1 = EndOfChainExpenseHandler.Instance; EndOfChainExpenseHandler instance2 = EndOfChainExpenseHandler.Instance; Assert.Same(instance1, instance2); }
public void DenyAnyExpenseReport(decimal expenseAmount) { EndOfChainExpenseHandler handler = EndOfChainExpenseHandler.Instance; ApprovalResponse response = handler.Approve(new ExpenseReport(expenseAmount)); Assert.Equal(ApprovalResponse.Denied, response); }
public void ThrowInvalidOperationExceptionOnRegisterNext() { EndOfChainExpenseHandler handler = EndOfChainExpenseHandler.Instance; Assert.Throws <InvalidOperationException>(() => handler.RegisterNext(new ExpenseHandler(new Employee("Tom", 500m)))); }