Exemple #1
0
        public void GetWrapper_OfInterface_WrappedValuesAreImmutatableByDefault()
        {
            //Arrange
            var instance = new MyInterfaceImplementation();
            var wrapper  = sut.GetWrapper <MyInterface>()(instance);

            //Act
            var exception = Record.Exception(() => wrapper.MyValue = 5);

            //Assert
            exception.Should().NotBeNull();
        }
Exemple #2
0
        public void GetWrapper_OfInterface_WrapperAlsoImplementsICanSwitchBackAndToReadOnly()
        {
            //Arrange
            var instance = new MyInterfaceImplementation();

            //Act
            var wrapper = sut.GetWrapper <MyInterface>()
                              (instance);

            //Assert
            wrapper.Should().NotBeNull();
            wrapper.Should().BeAssignableTo <ICanSwitchBackAndToReadOnly>();
        }
Exemple #3
0
        public void GetWrapper_OfInterface_SucceedsAndReturnsFactoryThatWrapsPassedVariable()
        {
            //Arrange
            var instance = new MyInterfaceImplementation();

            //Act
            var wrapper = sut.GetWrapper <MyInterface>()
                              (instance);

            //Assert
            wrapper.Should().NotBeNull();
            wrapper.Should().BeAssignableTo <MyInterface>();
        }
Exemple #4
0
        public void GetWrapper_OfInterface_WhenWrapperIsSetToReadonlyAnyAttemptsToEditStateShouldThrow()
        {
            //Arrange
            var instance = new MyInterfaceImplementation();
            var wrapper  = sut.GetWrapper <MyInterface>()(instance);

            (wrapper as ICanSwitchBackAndToReadOnly).CanEdit = false;

            //Act
            var exception = Record.Exception(() => wrapper.MyValue = 5);

            //Assert
            exception.Should().NotBeNull();
        }