示例#1
0
        public void TestDoneMethod_ThrowException_FromInLineData(SuitAlterationStatus currentState)
        {
            // Arrange

            var suit                = GetSuitWithAlterationStatus(currentState);
            var stateFactory        = new SuitAlterationStateFactory();
            var suitAlterationState = SuitAlterationStateFactory.Create(suit);
            var actualResult        = new Exception();

            // Act
            Action act = () => suitAlterationState.Done();

            // Asssert
            Assert.Throws <InvalidStateChangeException>(act);
        }
示例#2
0
        private Suit GetSuitWithAlterationStatus(SuitAlterationStatus status)
        {
            var suit = new Suit(20, 20, "blue", "cotton");

            switch (status)
            {
            case SuitAlterationStatus.Default:
                break;

            case SuitAlterationStatus.Created:
                suit = GetSuitWithCreatedAlterationStatust(suit);
                break;

            case SuitAlterationStatus.Paid:
                suit = GetSuitWithCreatedAlterationStatust(suit);
                suit = GetSuitWithPaiedAlterationStatust(suit);
                break;

            case SuitAlterationStatus.Altering:
                suit = GetSuitWithCreatedAlterationStatust(suit);
                suit = GetSuitWithPaiedAlterationStatust(suit);
                suit = GetSuitWithAlteringAlterationStatust(suit);
                break;

            case SuitAlterationStatus.Done:
                suit = GetSuitWithCreatedAlterationStatust(suit);
                suit = GetSuitWithPaiedAlterationStatust(suit);
                suit = GetSuitWithAlteringAlterationStatust(suit);
                suit = GetSuitWithDoneAlterationStatust(suit);
                break;

            default:
                break;
            }
            return(suit);
        }
 // TO DO add resource for excpetions
 public InvalidStateChangeException(SuitAlterationStatus changeFrom, SuitAlterationStatus changeTo)
     : base($"Can not change state from {changeFrom.GetEnumDescription()} to {changeTo.GetEnumDescription()}")
 {
 }
示例#4
0
 internal void SetStatus(SuitAlterationStatus status)
 {
     AlterationStatus = status;
 }