示例#1
0
文件: StepPlane.cs 项目: suruz/Step
        internal static StepPlane CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var plane = new StepPlane();

            syntaxList.AssertListCount(2);
            plane.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => plane.Position = v.AsType <StepAxis2Placement3D>());
            return(plane);
        }
示例#2
0
        public void FindMethodWithPlainTextGiven()
        {
            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep("Given a plain text match", DataTable.Empty, null),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual("GivenAPlainTextMatch", mapping.Name);
        }
示例#3
0
        internal static StepVertexPoint CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var vertex = new StepVertexPoint();

            syntaxList.AssertListCount(2);
            vertex.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => vertex.Location = v.AsType <StepCartesianPoint>());
            return(vertex);
        }
示例#4
0
        internal static StepPresentationStyleAssignment CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var presentationStyleAssignment = new StepPresentationStyleAssignment();

            presentationStyleAssignment.SyntaxList = syntaxList;
            syntaxList.AssertListCount(1);
            presentationStyleAssignment.Id = id;
            presentationStyleAssignment.BindSyntaxList(binder, syntaxList, 0);
            return(presentationStyleAssignment);
        }
示例#5
0
        internal static StepVector CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var vector = new StepVector();

            syntaxList.AssertListCount(3);
            vector.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => vector.Direction = v.AsType <StepDirection>());
            vector.Length = syntaxList.Values[2].GetRealVavlue();
            return(vector);
        }
示例#6
0
        internal static StepFaceBound CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            syntaxList.AssertListCount(3);
            var faceBound = new StepFaceBound();

            faceBound.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => faceBound.Bound = v.AsType <StepLoop>());
            faceBound.Orientation = syntaxList.Values[2].GetBooleanValue();
            return(faceBound);
        }
示例#7
0
        internal static StepAxis2Placement2D CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var axis = new StepAxis2Placement2D();

            syntaxList.AssertListCount(3);
            axis.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => axis.Location     = v.AsType <StepCartesianPoint>());
            binder.BindValue(syntaxList.Values[2], v => axis.RefDirection = v.AsType <StepDirection>());
            return(axis);
        }
示例#8
0
        internal static StepCircle CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var circle = new StepCircle();

            syntaxList.AssertListCount(3);
            circle.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => circle.Position = v.AsType <StepAxis2Placement>());
            circle.Radius = syntaxList.Values[2].GetRealVavlue();
            return(circle);
        }
示例#9
0
        public void FindNonStaticMethods()
        {
            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep("Given a plain value in a non-static method", DataTable.Empty, null),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual("GivenANonStaticPlainTextMatch", mapping.Name);
            Assert.AreEqual(1, mapping.Arguments.Length);
        }
示例#10
0
文件: StepLine.cs 项目: suruz/Step
        internal static StepLine CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var line = new StepLine();

            syntaxList.AssertListCount(3);
            line.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => line.Point  = v.AsType <StepCartesianPoint>());
            binder.BindValue(syntaxList.Values[2], v => line.Vector = v.AsType <StepVector>());
            return(line);
        }
        internal static StepRepresentationItem CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            syntaxList.AssertListCount(3);
            var surface = new StepCylindricalSurface();

            surface.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => surface.Position = v.AsType <StepAxis2Placement3D>());
            surface.Radius = syntaxList.Values[2].GetRealVavlue();
            return(surface);
        }
示例#12
0
        public void PassTableParameterToMethod()
        {
            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep("Given a table", NonEmptyDataTable, null),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual("GivenATable", mapping.Name);
            Assert.AreEqual(1, mapping.Arguments.Length);
            Assert.IsInstanceOfType(mapping.Arguments[0], typeof(DataTable));
        }
        internal static StepSurfaceStyleFillArea CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var surfaceStyleFillArea = new StepSurfaceStyleFillArea();

            surfaceStyleFillArea.SyntaxList = syntaxList;
            syntaxList.AssertListCount(1);
            surfaceStyleFillArea.Id = id;

            surfaceStyleFillArea.BindSyntaxList(binder, syntaxList, 0);
            return(surfaceStyleFillArea);
        }
        internal static StepShapeDefinitionRepresentation CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var shapeDefinitionRepresentation = new StepShapeDefinitionRepresentation();

            shapeDefinitionRepresentation.SyntaxList = syntaxList;
            syntaxList.AssertListCount(2);
            shapeDefinitionRepresentation.Id = id;

            shapeDefinitionRepresentation.BindSyntaxList(binder, syntaxList, 0);
            return(shapeDefinitionRepresentation);
        }
        internal static StepShapeRepresentation CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var shapeRepresentation = new StepShapeRepresentation();

            shapeRepresentation.SyntaxList = syntaxList;
            syntaxList.AssertListCount(3);
            shapeRepresentation.Id   = id;
            shapeRepresentation.Name = syntaxList.Values[0].GetStringValue();
            shapeRepresentation.BindSyntaxList(binder, syntaxList, 1);
            return(shapeRepresentation);
        }
示例#16
0
        internal static StepClosedShell CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var closedShell = new StepClosedShell();

            closedShell.SyntaxList = syntaxList;
            syntaxList.AssertListCount(2);
            closedShell.Id   = id;
            closedShell.Name = syntaxList.Values[0].GetStringValue();
            closedShell.BindSyntaxList(binder, syntaxList);
            return(closedShell);
        }
示例#17
0
        internal static StepAxis2Placement2D CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var axis = new StepAxis2Placement2D();

            axis.SyntaxList = syntaxList;
            axis.Id         = id;
            syntaxList.AssertListCount(3);
            axis.Name = syntaxList.Values[0].GetStringValue();
            axis.BindSyntaxList(binder, syntaxList, 1);
            return(axis);
        }
示例#18
0
        internal static StepSurfaceStyleFillArea CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var surfaceStyleFillArea = new StepSurfaceStyleFillArea();

            syntaxList.AssertListCount(1);
            surfaceStyleFillArea.Id = id;

            binder.BindValue(syntaxList.Values[0], v => surfaceStyleFillArea.FillAreaStyle = v.AsType <StepFillAreaStyle>());

            return(surfaceStyleFillArea);
        }
示例#19
0
        internal static StepDynamicItem CreateFromSyntaxList(StepBinder binder, StepSimpleItemSyntax stepSimpleSyntax, int id)
        {
            StepSyntaxList syntaxList  = stepSimpleSyntax.Parameters;
            var            dynamicItem = new StepDynamicItem();

            dynamicItem.SyntaxList = syntaxList;
            dynamicItem.Id         = id;
            dynamicItem.Keyword    = stepSimpleSyntax.Keyword;
            dynamicItem.BindSyntaxList(binder, syntaxList, 0);
            return(dynamicItem);
        }
示例#20
0
        public void PassMultiLineStringParameterToMethodAsLastParameter()
        {
            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep("Given a multi-line string", DataTable.Empty, "some string"),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual("GivenAMultiLineString", mapping.Name);
            Assert.AreEqual(1, mapping.Arguments.Length);
            Assert.AreEqual("some string", mapping.Arguments[0]);
        }
示例#21
0
        internal static StepProduct CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var product = new StepProduct();

            syntaxList.AssertListCount(4);
            product.Id          = id;
            product.Name        = syntaxList.Values[0].GetStringValue();
            product.Description = syntaxList.Values[1].GetStringValue();

            return(product);
        }
示例#22
0
文件: StepEllipse.cs 项目: suruz/Step
        internal static StepEllipse CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var ellipse = new StepEllipse();

            syntaxList.AssertListCount(4);
            ellipse.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => ellipse.Position = v.AsType <StepAxis2Placement2D>());
            ellipse.SemiAxis1 = syntaxList.Values[2].GetRealVavlue();
            ellipse.SemiAxis2 = syntaxList.Values[3].GetRealVavlue();
            return(ellipse);
        }
示例#23
0
        private void FindMethodWithSingleArgument <TArgumentType>(string stepValue, TArgumentType expectedArgumentValue, string localisedGivenLabel = "Given")
        {
            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep($"{localisedGivenLabel} a single {typeof(TArgumentType).Name} match of {stepValue}", DataTable.Empty, null),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual($"GivenASingle{typeof(TArgumentType).Name}Match", mapping.Name);
            Assert.AreEqual(1, mapping.Arguments.Length);
            Assert.AreEqual(expectedArgumentValue, mapping.Arguments[0]);
        }
示例#24
0
        internal static StepStyledItem CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var styledItem = new StepStyledItem();

            styledItem.SyntaxList = syntaxList;
            syntaxList.AssertListCount(3);
            styledItem.Id   = id;
            styledItem.Name = syntaxList.Values[0].GetStringValue();
            styledItem.BindSyntaxList(binder, syntaxList, 1);
            return(styledItem);
        }
示例#25
0
        internal static StepManifoldSolidBrep CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var manifoldSolidBrep = new StepManifoldSolidBrep();

            manifoldSolidBrep.SyntaxList = syntaxList;
            syntaxList.AssertListCount(2);
            manifoldSolidBrep.Id   = id;
            manifoldSolidBrep.Name = syntaxList.Values[0].GetStringValue();
            manifoldSolidBrep.BindSyntaxList(binder, syntaxList, 1);
            return(manifoldSolidBrep);
        }
        internal static StepManifoldSolidBrep CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var manifoldSolidBrep = new StepManifoldSolidBrep();

            syntaxList.AssertListCount(2);
            manifoldSolidBrep.Id   = id;
            manifoldSolidBrep.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => manifoldSolidBrep.ClosedShell = v.AsType <StepClosedShell>());

            return(manifoldSolidBrep);
        }
        internal static StepFillAreaStyleColour CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList, int id)
        {
            var fillAreaStyleColor = new StepFillAreaStyleColour();

            syntaxList.AssertListCount(2);
            fillAreaStyleColor.Id   = id;
            fillAreaStyleColor.Name = syntaxList.Values[0].GetStringValue();

            binder.BindValue(syntaxList.Values[1], v => fillAreaStyleColor.Colour = v.AsType <StepColourRGB>());

            return(fillAreaStyleColor);
        }
示例#28
0
        internal static StepEdgeCurve CreateFromSyntaxList(StepBinder binder, StepSyntaxList syntaxList)
        {
            var edgeCurve = new StepEdgeCurve();

            syntaxList.AssertListCount(5);
            edgeCurve.Name = syntaxList.Values[0].GetStringValue();
            binder.BindValue(syntaxList.Values[1], v => edgeCurve.EdgeStart    = v.AsType <StepVertex>());
            binder.BindValue(syntaxList.Values[2], v => edgeCurve.EdgeEnd      = v.AsType <StepVertex>());
            binder.BindValue(syntaxList.Values[3], v => edgeCurve.EdgeGeometry = v.AsType <StepCurve>());
            edgeCurve.IsSameSense = syntaxList.Values[4].GetBooleanValue();
            return(edgeCurve);
        }
示例#29
0
        public void FindMethodInAReferencedAssembly()
        {
            // Load the referenced assembly
            var _ = typeof(ReferencedAssembly.ReferencedAssemblyStepBindingSamples);

            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep("Given a referenced assembly match", DataTable.Empty, null),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual("GivenAReferencedAssemblyMatch", mapping.Name);
        }
示例#30
0
        public void FindMethodWithMultipleArguments()
        {
            var mapper  = new StepBinder();
            var mapping = mapper.GetBindingFor(
                new GivenStep("Given a single 'value-here' match and 'another here'", DataTable.Empty, null),
                Assembly.GetExecutingAssembly());

            Assert.AreEqual("GivenAMultipleStringMatch", mapping.Name);
            Assert.AreEqual(2, mapping.Arguments.Length);
            Assert.AreEqual("value-here", mapping.Arguments[0]);
            Assert.AreEqual("another here", mapping.Arguments[1]);
        }