public void PortModelsCanHaveDefaultValues(object expectedValue, Func <TestNodeModelWithCustomPorts, Func <IPortModel> > createPort, Func <ConstantNodeModel, object> getValue) { VSGraphAssetModel asset = ScriptableObject.CreateInstance <VSGraphAssetModel>(); VSGraphModel g = asset.CreateVSGraph <ClassStencil>("asd"); m_Node = g.CreateNode <TestNodeModelWithCustomPorts>("test", Vector2.zero, preDefineSetup: ports => ports.CreatePortFunc = createPort(ports)); Assert.That(getValue(m_Node.InputsByDisplayOrder.Single().EmbeddedValue), Is.EqualTo(expectedValue)); }
public void MethodWithOneParameterCreatesOnePortWhenDefinedTwice() { VSGraphAssetModel asset = ScriptableObject.CreateInstance <VSGraphAssetModel>(); VSGraphModel g = asset.CreateVSGraph <ClassStencil>("asd"); m_Node = g.CreateFunctionCallNode(GetType().GetMethod(nameof(M1)), Vector2.zero); Assert.That(m_Node.InputsById.Count, Is.EqualTo(2)); m_Node.DefineNode(); Assert.That(m_Node.InputsById.Count, Is.EqualTo(2)); }
public void CallingDefineTwiceCreatesOneEmbeddedConstant() { VSGraphAssetModel asset = ScriptableObject.CreateInstance <VSGraphAssetModel>(); VSGraphModel g = asset.CreateVSGraph <ClassStencil>("asd"); m_Node = g.CreateNode <TestNodeModel>("test", Vector2.zero); Assert.That(m_Node.InputConstantsById.Count, Is.EqualTo(1)); m_Node.DefineNode(); Assert.That(m_Node.InputConstantsById.Count, Is.EqualTo(1)); }
public void Test_FunctionParameterDeclarationsWithSameName() { VSGraphAssetModel graphAssetModel = (VSGraphAssetModel)GraphAssetModel.Create("test", "", typeof(VSGraphAssetModel)); VSGraphModel graph = graphAssetModel.CreateVSGraph <ClassStencil>("test"); var method = graph.CreateFunction("TestFunction", Vector2.zero); var declaration0 = method.CreateAndRegisterFunctionParameterDeclaration("param", typeof(int).GenerateTypeHandle(graph.Stencil)); var declaration1 = method.CreateAndRegisterFunctionParameterDeclaration("param", typeof(int).GenerateTypeHandle(graph.Stencil)); Assert.That(declaration0, Is.Not.EqualTo(declaration1)); Assert.That(method.FunctionParameterModels.Count(), Is.EqualTo(2)); }
public void CloningAVariableClonesFields() { VSGraphAssetModel graphAssetModel = (VSGraphAssetModel)GraphAssetModel.Create("test", "", typeof(VSGraphAssetModel)); VSGraphModel graph = graphAssetModel.CreateVSGraph <ClassStencil>("test"); var decl = graph.CreateGraphVariableDeclaration("asd", TypeHandle.Float, true); decl.Tooltip = "asdasd"; var clone = ((VariableDeclarationModel)decl).Clone(); Assert.IsFalse(ReferenceEquals(decl, clone)); Assert.AreEqual(decl.Tooltip, clone.Tooltip); Assert.AreNotEqual(decl.GetId(), clone.GetId()); }
public void Test_FunctionVariableDeclarationsIsSerializedInGraphAsset() { VSGraphAssetModel graphAssetModel = (VSGraphAssetModel)GraphAssetModel.Create("test", "Assets/MyGraphTest.asset", typeof(VSGraphAssetModel)); VSGraphModel graph = graphAssetModel.CreateVSGraph <ClassStencil>("test"); FunctionModel method = graph.CreateFunction("TestFunction", Vector2.zero); VariableDeclarationModel declaration = method.CreateFunctionVariableDeclaration("var", typeof(int).GenerateTypeHandle(graph.Stencil)); string nodeModelPath = AssetDatabase.GetAssetPath(declaration.InitializationModel.NodeAssetReference); string graphAssetModelPath = AssetDatabase.GetAssetPath(graphAssetModel); Assert.That(nodeModelPath, Is.EqualTo(graphAssetModelPath)); AssetDatabase.DeleteAsset(graphAssetModelPath); }
public void SetNameFromUserNameTest(string userInput, string expectedName, string expectedTitle) { VSGraphAssetModel graphAssetModel = (VSGraphAssetModel)GraphAssetModel.Create("test", "", typeof(VSGraphAssetModel)); VSGraphModel graph = graphAssetModel.CreateVSGraph <ClassStencil>("test"); var method = graph.CreateFunction("method", Vector2.left * 200); method.CreateFunctionVariableDeclaration("bar", typeof(int).GenerateTypeHandle(graph.Stencil)); var variable = method.CreateFunctionVariableDeclaration("temp", typeof(int).GenerateTypeHandle(graph.Stencil)); variable.SetNameFromUserName(userInput); Assert.That(variable.VariableName, Is.EqualTo(expectedName)); Assert.That(variable.Title, Is.EqualTo(expectedTitle)); }