public void SelectedElement_SetElement_ExpectPropertyChangedEventRaised() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); problemViewModel.SelectedElement = null; var checker = new PropertyChangedEventChecker(problemViewModel); //Act problemViewModel.SelectedElement = elementViewModel; //Assert Assert.That(checker.PropertiesRaised, Is.EqualTo(new[] { "SelectedNode", "SelectedElement", "SelectedForce", "SelectedMaterial", "AvailableNodesForSelectedForces", "AvailableOriginNodesForSelectedElements", "AvailableDestinationNodesForSelectedElements" })); }
public void Execute(object parameter) { _problemViewModel.AddBarElement(_newElementViewModel.OriginNode, _newElementViewModel.DestinationNode); _newElementViewModel.OriginNode = null; _newElementViewModel.DestinationNode = null; }
public void AddBarElement_EmptyProblem_ExpectNewElementIsSelectedElement() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); //Act var elementViewModel = problemViewModel.AddBarElement(node1, node2); //Assert Assert.That(problemViewModel.SelectedElement, Is.EqualTo(elementViewModel)); }
public void DeleteSelectedElement_SelectedElement_ExpectSelectedElementIsNull() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); //Act problemViewModel.DeleteSelectedElement(); //Assert Assert.That(problemViewModel.SelectedElement, Is.Null); }
public void DeleteSelectedElement_NullSelectedElement_ExpectNothingHappened() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); problemViewModel.SelectedElement = null; //Act //Assert Assert.DoesNotThrow(() => problemViewModel.DeleteSelectedElement()); }
public void SelectedElement_SetNullElement_ExpetNodeIsSelectedIsFalse() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); //Act problemViewModel.SelectedElement = null; //Assert Assert.That(elementViewModel.IsSelected, Is.False); }
public void AddBarElement_EmptyProblem_ExpectNewElementAddedToElementsCollection() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); //Act var elementViewModel = problemViewModel.AddBarElement(node1, node2); //Assert var elementContained = problemViewModel.Elements.Contains(elementViewModel); Assert.That(elementContained, Is.True); }
public void DeleteSelectedElement_SelectedElement_ExpectElementRemovedFromCollection() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); //Act problemViewModel.DeleteSelectedElement(); //Assert var containsElement = problemViewModel.Elements.Contains(elementViewModel); Assert.That(containsElement, Is.False); }
public void SelectedElement_SetElement_ExpectOtherPropertiesAreNull() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); problemViewModel.SelectedElement = null; //Act problemViewModel.SelectedElement = elementViewModel; //Assert Assert.That(problemViewModel.SelectedNode, Is.Null); Assert.That(problemViewModel.SelectedForce, Is.Null); Assert.That(problemViewModel.SelectedMaterial, Is.Null); }
public void SelectedElement_ElementUnselectedAndElementNodesChanged_ExpectPropertyChangedEventRaised() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); problemViewModel.SelectedElement = null; var checker = new PropertyChangedEventChecker(problemViewModel); //Act elementViewModel.Origin.X = 100; //Assert Assert.That(checker.PropertiesRaised, Is.EqualTo(new[] { "ProblemCalculationViewModel" })); }
public void SelectedElement_SelectedElementDestinationNodeChanged_ExpectPropertyChangedEventRaised() { //Arrange var problemViewModel = new ProblemViewModel(); var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var elementViewModel = problemViewModel.AddBarElement(node1, node2); problemViewModel.SelectedElement = null; problemViewModel.SelectedElement = elementViewModel; var checker = new PropertyChangedEventChecker(problemViewModel); //Act elementViewModel.Destination.X = 100; //Assert Assert.That(checker.PropertiesRaised, Is.EqualTo(new[] { "AvailableOriginNodesForSelectedElements", "ProblemCalculationViewModel" })); }
private ProblemViewModel SetupScenario() { var problemViewModel = new ProblemViewModel(); #region nodeSetup var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var node3 = problemViewModel.AddNode(); var node4 = problemViewModel.AddNode(); var node5 = problemViewModel.AddNode(); var node6 = problemViewModel.AddNode(); var node7 = problemViewModel.AddNode(); var node8 = problemViewModel.AddNode(); node1.X = 0; node1.Y = 1; node1.Z = 0; node1.IsXFixed = false; node1.IsYFixed = false; node1.IsZFixed = true; node2.X = 0; node2.Y = 0; node2.Z = 0; node2.IsXFixed = true; node2.IsYFixed = true; node2.IsZFixed = true; node3.X = 1; node3.Y = 1; node3.Z = 0; node3.IsXFixed = false; node3.IsYFixed = false; node3.IsZFixed = false; node4.X = 1; node4.Y = 0; node4.Z = 0; node4.IsXFixed = false; node4.IsYFixed = true; node4.IsZFixed = true; node5.X = 0; node5.Y = 0; node5.Z = 1; node5.IsXFixed = false; node5.IsYFixed = false; node5.IsZFixed = false; node6.X = 1; node6.Y = 0; node6.Z = 1; node6.IsXFixed = false; node6.IsYFixed = false; node6.IsZFixed = false; node7.X = 1; node7.Y = 1; node7.Z = 1; node7.IsXFixed = false; node7.IsYFixed = false; node7.IsZFixed = false; node8.X = 0; node8.Y = 1; node8.Z = 1; node8.IsXFixed = false; node8.IsYFixed = false; node8.IsZFixed = false; #endregion #region forceSetup var force = problemViewModel.AddForce(node7); force.ApplicationVectorX = 1; #endregion #region elementSetup var element1 = problemViewModel.AddBarElement(node1, node2); var element2 = problemViewModel.AddBarElement(node3, node1); var element3 = problemViewModel.AddBarElement(node4, node3); var element4 = problemViewModel.AddBarElement(node2, node4); var element5 = problemViewModel.AddBarElement(node5, node6); var element6 = problemViewModel.AddBarElement(node6, node7); var element7 = problemViewModel.AddBarElement(node7, node8); var element8 = problemViewModel.AddBarElement(node8, node5); var element9 = problemViewModel.AddBarElement(node5, node2); var element10 = problemViewModel.AddBarElement(node4, node6); var element11 = problemViewModel.AddBarElement(node3, node7); var element12 = problemViewModel.AddBarElement(node8, node1); var element13 = problemViewModel.AddBarElement(node5, node7); var element14 = problemViewModel.AddBarElement(node7, node4); var element15 = problemViewModel.AddBarElement(node4, node1); var element16 = problemViewModel.AddBarElement(node1, node5); var element17 = problemViewModel.AddBarElement(node7, node1); var element18 = problemViewModel.AddBarElement(node4, node5); element1.CrossSectionArea = 3.14E-06; element2.CrossSectionArea = 3.14E-06; element3.CrossSectionArea = 3.14E-06; element4.CrossSectionArea = 3.14E-06; element5.CrossSectionArea = 3.14E-06; element6.CrossSectionArea = 3.14E-06; element7.CrossSectionArea = 3.14E-06; element8.CrossSectionArea = 3.14E-06; element9.CrossSectionArea = 3.14E-06; element10.CrossSectionArea = 3.14E-06; element11.CrossSectionArea = 3.14E-06; element12.CrossSectionArea = 3.14E-06; element13.CrossSectionArea = 3.14E-06; element14.CrossSectionArea = 3.14E-06; element15.CrossSectionArea = 3.14E-06; element16.CrossSectionArea = 3.14E-06; element17.CrossSectionArea = 3.14E-06; element18.CrossSectionArea = 3.14E-06; #endregion #region materialSetup var material = problemViewModel.Materials.Single(); material.YoungsModulus = 2.1E11; #endregion return(problemViewModel); }
private void SetupProblemViewModel(ProblemViewModel problemViewModel) { var node1 = problemViewModel.AddNode(); var node2 = problemViewModel.AddNode(); var node3 = problemViewModel.AddNode(); var node4 = problemViewModel.AddNode(); #region Node properties node2.IsXFixed = true; node3.IsYFixed = true; node4.IsZFixed = true; node1.X = 1; node2.X = 2; node3.X = 3; node4.X = 4; node1.Y = 11; node2.Y = 12; node3.Y = 13; node4.Y = 14; node1.Z = 21; node2.Z = 22; node3.Z = 23; node4.Z = 24; #endregion var element1 = problemViewModel.AddBarElement(node1, node2); var element2 = problemViewModel.AddBarElement(node2, node3); var element3 = problemViewModel.AddBarElement(node3, node4); var force = problemViewModel.AddForce(node1); force.ApplicationVectorX = 100; force.ApplicationVectorY = 200; force.ApplicationVectorZ = 300; var material1 = element1.Material; var material2 = problemViewModel.AddMaterial(); var material3 = problemViewModel.AddMaterial(); var material4 = problemViewModel.AddMaterial(); #region Material properties material1.Name = "Aluminum1"; material2.Name = "Aluminum2"; material3.Name = "Aluminum3"; material4.Name = "Aluminum4"; material1.YoungsModulus = 1; material2.YoungsModulus = 12; material3.YoungsModulus = 123; material4.YoungsModulus = 1234; #endregion element1.Material = material2; element2.Material = material3; element3.Material = material4; #region Element properties element1.CrossSectionArea = 101; element2.CrossSectionArea = 202; element3.CrossSectionArea = 303; #endregion }