public void CreateBindings_CanNavigateFacettes() { var f1 = new Facette("fnord1", new List <object> { 1, 2, 3 }); var f2 = new Facette("fnord2", new List <object> { 4, 5, 6 }); var f3 = new Facette("fnord3", new List <object> { 7, 8, 9 }); te.AddFacette(f1); te.AddFacette(f2); te.AddFacette(f3); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("fnord1", 1, 1); testContext.AddFacette("fnord2", 1, 1); testContext.AddFacette("fnord3", 1, 1); var theBinding = te.CreateBindings(testContext); // Bindings are organised as a singly linked list, so we // should be able to access the last item in the list (3 facettes mean, that we // always get a list of three entries) //Assert.IsNull(theBinding[0].next.next.next); Assert.AreEqual(theBinding[0].allBindings.Count, 3); }
public void CreateBindings_HonorsMultipleConstraints_IsolatedBackwardConstraint() { var f1 = new Facette("Head", new List <object> { 1, 2, 3, 4, 5, 6 }); var f2 = new Facette("Middle", new List <object> { 4, 5, 6, 7 }); var f3 = new Facette("Tail", new List <object> { 6 }); te.AddFacette(f1); te.AddFacette(f2); te.AddFacette(f3); te.AddConstraint(new Constraint(f3, f1, x => true, new List <object> { 1 })); te.AddConstraint(new Constraint(f3, f2, x => true, new List <object> { 4 })); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("Head", 1, 1); testContext.AddFacette("Middle", 1, 1); testContext.AddFacette("Tail", 1, 1); var theBinding = te.CreateBindings(testContext); Assert.AreEqual(1, theBinding.Count); }
public void CreateBindings_ReturnsBinding_MultipleFacettes() { var f1 = new Facette("fnord1", new List <object> { 1, 2, 3 }); var f2 = new Facette("fnord2", new List <object> { 4, 5, 6 }); var f3 = new Facette("fnord3", new List <object> { 7, 8, 9 }); te.AddFacette(f1); te.AddFacette(f2); te.AddFacette(f3); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("fnord1", 1, 1); testContext.AddFacette("fnord2", 1, 1); testContext.AddFacette("fnord3", 1, 1); var theBinding = te.CreateBindings(testContext); Assert.IsNotNull(theBinding); Assert.AreEqual(27, theBinding.Count); }
public static void DrawFacette(Facette facette, Bitmap img, Color pen) { facette.TraceFilDeFer(img, pen); facette.RemplissageFacette(new List <Point>() { facette.GermeDeDEpart() }, new List <Point>(), img, pen, 0); }
public void Setup() { F1 = new Facette("F1", new List <object> { 1, 2, 3 }); F2 = new Facette("F2", new List <object> { 4, 5, 6 }); }
public void GetFacette_ReturnsFacette() { var f = new Facette("fnord", new List <object>() { 2 }); te.AddFacette(f); var returned = te.GetFacette("fnord"); }
public void Facette_Ctor_ThrowsIfListIsEmpty() { try { var fac = new Facette("Facetto", new List <object>()); Assert.Fail("Facette Ctor did not throw when handed an empty list"); } catch { } }
public void Facette_Ctor_ThrowsIfListIsNull() { try { var fac = new Facette("Facetto", null); Assert.Fail("Facette Ctor did not throw when handed a NULL list"); } catch { } }
public void Facette_NextVal_IteratesAllValues() { var fac = new Facette("Facetto", new List <object> { 1, 2, 3, "foo" }); Assert.AreEqual(1, (int)fac.NextValue()); Assert.AreEqual(2, (int)fac.NextValue()); Assert.AreEqual(3, (int)fac.NextValue()); Assert.AreEqual("foo", fac.NextValue()); Assert.AreEqual(null, fac.NextValue()); }
public void Facette_GetValues_ReturnsCorrectValues() { var fac = new Facette("Facetto", new List <object> { 1, 2, 3, 4, 5 }); Assert.IsTrue(fac.GetValues(new BitArray(new[] { true, false, true, false, false })).SequenceEqual(new List <object> { 1, 3 })); Assert.IsTrue(fac.GetValues(new BitArray(new[] { false, true, false, true, false })).SequenceEqual(new List <object> { 2, 4 })); }
public void CreateBindings_SetsFacetteValue() { var f = new Facette("fnord", new List <object> { 1, 2, 3 }); te.AddFacette(f); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("fnord", 1, 1); var theBinding = te.CreateBindings(testContext); Assert.IsNotNull(theBinding[0].allBindings[0].Key); }
public void CreateBindings_ReturnsBinding() { var f = new Facette("fnord", new List <object> { 1, 2, 3 }); te.AddFacette(f); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("fnord", 1, 1); var theBinding = te.CreateBindings(testContext); Assert.IsNotNull(theBinding); Assert.AreEqual(3, theBinding.Count); }
public static void DrawFacette(Bitmap img, Color pen) { Facette facette = new Facette( new Point(50, -20, 0), new Point(100, 100, 0), new Point(-50, 20, 0), new Point(-100, -100, 0)); facette = facette.RotationZ(45); facette = facette.Homothetie(new Point(0, 0, 0), 0.4); facette = facette.Translation(50, 50, 0); facette.TraceFilDeFer(img, pen); facette.RemplissageFacette(new List <Point>() { facette.GermeDeDEpart() }, new List <Point>(), img, pen, 0); }
public void Facette_GetValidCombinations_SelectsAllBits_TwoBits() { List <BitArray> allCombinations = new List <BitArray> { new BitArray(new[] { true, true, false }), // b011 new BitArray(new[] { true, false, true }), // b101 new BitArray(new[] { false, true, true }), // b110 }; var fac = new Facette("Facetto", new List <object> { 1, 2, 3 }); Facette.SelectResult res = new Facette.SelectResult(); res = fac.GetValidCombinations(2, 2); allCombinations = allCombinations.Where(x => !res.valueCombinations.Any(y => y.SameAs(x))).ToList(); Assert.AreEqual(0, allCombinations.Count); }
public static void DrawCubeFilDeFer(Bitmap img, Color pen) { // Faces de dessous Facette facette1 = new Facette( new Point(-20, -20, 20), new Point(0, 0, -20), new Point(40, 0, -20), new Point(20, -20, 20)); Facette facette2 = new Facette( new Point(0, 0, -20), new Point(0, 40, -20), new Point(40, 40, -20), new Point(40, 0, -20)); Facette facette3 = new Facette( new Point(-20, -20, 20), new Point(-20, 20, 20), new Point(0, 40, -20), new Point(0, 0, -20)); // Faces de dessus Facette facette4 = new Facette( new Point(20, -20, 20), new Point(20, 20, 20), new Point(-20, 20, 20), new Point(-20, -20, 20)); Facette facette5 = new Facette( new Point(-20, 20, 20), new Point(20, 20, 20), new Point(40, 40, -20), new Point(0, 40, -20)); Facette facette6 = new Facette( new Point(20, 20, 20), new Point(40, 40, -20), new Point(40, 0, -20), new Point(20, -20, 20)); Cube c = new Cube(facette1, facette2, facette3, facette4, facette5, facette6); c.TraceFilDeFer(img, pen); }
public static Cube DrawCube() { // Faces de dessous Facette facette1 = new Facette( new Point(-20, -20, 20), new Point(0, 0, -20), new Point(40, 0, -20), new Point(20, -20, 20)); Facette facette2 = new Facette( new Point(0, 0, -20), new Point(0, 40, -20), new Point(40, 40, -20), new Point(40, 0, -20)); Facette facette3 = new Facette( new Point(-20, -20, 20), new Point(-20, 20, 20), new Point(0, 40, -20), new Point(0, 0, -20)); // Faces de dessus Facette facette4 = new Facette( new Point(20, -20, 20), new Point(20, 20, 20), new Point(-20, 20, 20), new Point(-20, -20, 20)); Facette facette5 = new Facette( new Point(-20, 20, 20), new Point(20, 20, 20), new Point(40, 40, -20), new Point(0, 40, -20)); Facette facette6 = new Facette( new Point(20, 20, 20), new Point(40, 40, -20), new Point(40, 0, -20), new Point(20, -20, 20)); return(new Cube(facette1, facette2, facette3, facette4, facette5, facette6)); }
public static void DrawFacettesFilDeFer(Bitmap img, Color pen) { Color bluePen = new Color(0, 0, 255); Facette facette = new Facette( new Point(-50, 100, 0), new Point(50, 100, 0), new Point(50, -100, 0), new Point(-50, -100, 0)); facette.TraceFilDeFer(img, bluePen); Facette f = facette.Translation(15, 15, 0); f.TraceFilDeFer(img, pen); Facette f2 = facette.RotationZ(tetaZ: 45); f2.TraceFilDeFer(img, pen); Facette f3 = facette.Homothetie(new Point(), 0.25); f3.TraceFilDeFer(img, pen); }
public void CreateBindings_CreatesCorrectValues() { var f1 = new Facette("fnord1", new List <object> { 1, 2 }); var f2 = new Facette("fnord2", new List <object> { 4, 5 }); te.AddFacette(f1); te.AddFacette(f2); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("fnord1", 1, 1); testContext.AddFacette("fnord2", 1, 1); var theBinding = te.CreateBindings(testContext); // Bindings are organised as a singly linked list, so we // should be able to access the last item in the list (3 facettes mean, that we // always get a list of three entries) var B01 = new BitArray(new[] { false, true }); var B10 = new BitArray(new[] { true, false }); Assert.IsTrue(theBinding[0].allBindings[0].Value.SameAs(B10)); Assert.IsTrue(theBinding[0].allBindings[1].Value.SameAs(B10)); Assert.IsTrue(theBinding[1].allBindings[0].Value.SameAs(B10)); Assert.IsTrue(theBinding[1].allBindings[1].Value.SameAs(B01)); Assert.IsTrue(theBinding[2].allBindings[0].Value.SameAs(B01)); Assert.IsTrue(theBinding[2].allBindings[1].Value.SameAs(B10)); Assert.IsTrue(theBinding[3].allBindings[0].Value.SameAs(B01)); Assert.IsTrue(theBinding[3].allBindings[1].Value.SameAs(B01)); }
public void CreateBindings_HonorsConstraints_BackwardConstraint() { var f1 = new Facette("fnord1", new List <object> { 1, 2 }); var f2 = new Facette("fnord2", new List <object> { 4, 5 }); te.AddFacette(f1); te.AddFacette(f2); te.AddConstraint(new Constraint(f2, f1, x => true, new List <object> { 1 })); var testContext = new MutagenRuntime.TestContext(); testContext.AddFacette("fnord1", 1, 1); testContext.AddFacette("fnord2", 1, 1); var theBinding = te.CreateBindings(testContext); Assert.AreEqual(2, theBinding.Count); }
public void AddFacette(Facette f) { throw new NotImplementedException(); }
public static void DrawFacettesFilDeFer(Facette facette, Bitmap img, Color pen) { facette.TraceFilDeFer(img, pen); }
public override void AddFacette(Facette f) { addCalled = true; base.AddFacette(f); }
public void Facette_Ctor_TakesList() { var fac = new Facette("Facetto", new List <object> { 1, 2, 3, "foo" }); }