mirror of
https://github.com/eliasstepanik/OSCADSharpDotnet7.git
synced 2026-01-11 21:48:34 +00:00
69 lines
2.1 KiB
C#
69 lines
2.1 KiB
C#
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using OSCADSharp.DataBinding;
|
|
using OSCADSharp.Solids;
|
|
using OSCADSharp.Spatial;
|
|
using OSCADSharp.Utility;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace OSCADSharp.UnitTests.Transforms
|
|
{
|
|
|
|
[TestClass]
|
|
public class TranslateTests
|
|
{
|
|
[TestMethod]
|
|
public void Translate_BoundsMoveWhenObjectIsTranslated()
|
|
{
|
|
var cube = new Cube();
|
|
var boundsBefore = cube.Bounds();
|
|
var boundsAfter = cube.Translate(5, 2, 3).Bounds();
|
|
|
|
Assert.AreEqual(boundsAfter.TopRight, boundsBefore.TopRight + new Vector3(5, 2, 3));
|
|
Assert.AreEqual(boundsAfter.BottomLeft, boundsBefore.BottomLeft + new Vector3(5, 2, 3));
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Translate_CanBindVector()
|
|
{
|
|
var cube = new Cube().Translate(10, 0, 0);
|
|
var vec = new Variable("vec", new Vector3(0, 20, 30));
|
|
|
|
cube.Bind("vector", vec);
|
|
|
|
string script = cube.ToString();
|
|
Assert.IsTrue(script.Contains("v = vec"));
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Translate_CanBindVectorsByParameters()
|
|
{
|
|
var y = new Variable("yAmt", -35);
|
|
var z = new Variable("zAmt", 40);
|
|
|
|
var cube = new Cube().Translate(-5, y, z);
|
|
|
|
string script = cube.ToString();
|
|
Assert.IsTrue(script.Contains("v = [-5, yAmt, zAmt]"));
|
|
}
|
|
|
|
[TestMethod]
|
|
public void Translate_AddingTwoVariablesYieldsInlineOperation()
|
|
{
|
|
var cylinDiameter = new Variable("cylinDiam", Inches.One);
|
|
var wallThickness = new Variable("wallThickness", Inches.Eigth);
|
|
|
|
var cylin = new Cylinder(cylinDiameter, cylinDiameter);
|
|
cylin.Height = 15;
|
|
|
|
var obj = cylin.Translate(cylinDiameter + wallThickness, 0, 0);
|
|
|
|
string script = obj.ToString();
|
|
Assert.IsTrue(script.Contains("v = [cylinDiam + wallThickness, 0, 0]"));
|
|
}
|
|
}
|
|
}
|