Esempio n. 1
0
        public void WhenCreatingSignature_WithNoParameters_AndStringReturnValue_SignatureHasName()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act
            var method = builder.CreateMethod <string>("MyMethod", (containerBendy) => "hello");

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(true));
            Assert.That(method.Signature.ReturnType, Is.EqualTo(typeof(string)));
        }
        public void WhenRunningMethod_ContainerBendy_IsPassedToDelegate()
        {
            // Arrange
            var builder = new BendyBuilder();
            BendyObject _outer = null;

            // Act
            builder.CreateMethod("MyMethod", (containerBendy) => SetRef(ref _outer, ref containerBendy));
            dynamic bendyDynamic = builder.ToBendy().AsDynamic();
            bendyDynamic.MyMethod();

            // Assert
            Assert.That(_outer, Is.Not.Null);
        }
Esempio n. 3
0
        public void WhenCreatingSignature_WithNoParameters_AndNoReturnValue_SignatureHasName()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act
            var method = builder.CreateMethod("MyMethod", (containerBendy) => DoNothing());

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(false));
            Assert.That(builder.Methods.Count(), Is.EqualTo(1));
            Assert.That(builder.Methods, Has.All.SameAs(method));
        }
Esempio n. 4
0
        public void WhenRunningMethod_ContainerBendy_IsPassedToDelegate()
        {
            // Arrange
            var         builder = new BendyBuilder();
            BendyObject _outer  = null;

            // Act
            builder.CreateMethod("MyMethod", (containerBendy) => SetRef(ref _outer, ref containerBendy));
            dynamic bendyDynamic = builder.ToBendy().AsDynamic();

            bendyDynamic.MyMethod();

            // Assert
            Assert.That(_outer, Is.Not.Null);
        }
Esempio n. 5
0
        public void WhenCreatingSignature_WithStringParameter_SignatureHasNameAndParameter()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act

            var method = builder.CreateMethod <string>("MyMethod", (containerBendy, myParameter) => DoNothing(), Param.Create <string>("myParameter"));

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.Parameters.ToArray()[1].Name, Is.EqualTo("myParameter"));
            Assert.That(method.Signature.Parameters.ToArray()[1].Type, Is.EqualTo(typeof(string)));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(false));
        }
Esempio n. 6
0
        public void WhenCreatingSignature_WithParameters_AndStringReturnValue_SignatureHasName()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act
            var method = builder.CreateMethod <string, string>("MyMethod", (containerBendy, myParameter) => DoNothing(), "myParameter");

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(true));
            Assert.That(method.Signature.ReturnType, Is.EqualTo(typeof(string)));
            Assert.That(builder.Methods.Count(), Is.EqualTo(1));
            Assert.That(builder.Methods, Has.All.SameAs(method));
        }
        public void WhenCreatingSignature_WithNoParameters_AndNoReturnValue_SignatureHasName()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act
            var method = builder.CreateMethod("MyMethod", (containerBendy) => DoNothing());

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(false));
            Assert.That(builder.Methods.Count(), Is.EqualTo(1));
            Assert.That(builder.Methods, Has.All.SameAs(method));
        }
        public void WhenCreatingSignature_WithStringParameter_SignatureHasNameAndParameter()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act

            var method = builder.CreateMethod<string>("MyMethod", (containerBendy, myParameter) => DoNothing(), Param.Create<string>("myParameter"));

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.Parameters.ToArray()[0].Name, Is.EqualTo("myParameter"));
            Assert.That(method.Signature.Parameters.ToArray()[0].Type, Is.EqualTo(typeof(string)));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(false));
        }
        public void WhenCreatingSignature_WithNoParameters_AndStringReturnValue_SignatureHasName()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act
            var method = builder.CreateMethod<string>("MyMethod", (containerBendy) => "hello");

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(true));
            Assert.That(method.Signature.ReturnType, Is.EqualTo(typeof(string)));
        }
        public void WhenCreatingSignature_WithParameters_AndStringReturnValue_SignatureHasName()
        {
            // Arrange
            var builder = new BendyBuilder();

            // Act
            var method = builder.CreateMethod<string, string>("MyMethod", (containerBendy, myParameter) => DoNothing(), "myParameter");

            // Assert
            Assert.That(method.Signature.Name, Is.EqualTo("MyMethod"));
            Assert.That(method.Signature.ReturnsValue, Is.EqualTo(true));
            Assert.That(method.Signature.ReturnType, Is.EqualTo(typeof(string)));
            Assert.That(builder.Methods.Count(), Is.EqualTo(1));
            Assert.That(builder.Methods, Has.All.SameAs(method));
        }