public void RefState_RefToDifferentNodes_EqualReturnsFalse() { var state1 = new StateRefTo(TicNode.CreateNamedNode("a", new ConstrainsState())); var state2 = new StateRefTo(TicNode.CreateNamedNode("b", new ConstrainsState())); Assert.IsFalse(state1.Equals(state2)); Assert.AreNotEqual(state1, state2); }
public void RefState_RefToSameNode_EqualReturnsTrue() { var node = TicNode.CreateNamedNode("a", new ConstrainsState()); var state1 = new StateRefTo(node); var state2 = new StateRefTo(node); Assert.IsTrue(state1.Equals(state2)); Assert.AreEqual(state1, state2); }
public void StructConstructor_WithStrictFields() { // 2 0 1 //y = { a = 12i, b = 1.0} var graph = new GraphBuilder(); graph.SetConst(0, StatePrimitive.I32); graph.SetConst(1, StatePrimitive.Real); graph.SetStructInit(new[] { "a", "b" }, new[] { 0, 1 }, 2); graph.SetDef("y", 2); var result = graph.Solve(); result.AssertNoGenerics(); result.AssertNamed(new StateStruct(new Dictionary <string, TicNode>() { { "a", TicNode.CreateNamedNode("a", StatePrimitive.I32) }, { "b", TicNode.CreateNamedNode("b", StatePrimitive.Real) } }), "y"); }
private static TicNode CreateNode(string name, ITicNodeState state = null) => TicNode.CreateNamedNode(name, state ?? new ConstrainsState());