Skip to content

Commit 589f8ad

Browse files
committed
new tests
1 parent 111373d commit 589f8ad

File tree

2 files changed

+98
-5
lines changed

2 files changed

+98
-5
lines changed

test/Libraries/RevitIntegrationTests/RoofTests.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ public void RoofAddAndMovePoint()
5959
var roofPoints1 = AllNodes
6060
.FirstOrDefault(n => n.Name == "roof.Points1");
6161

62-
//var roofPoints1 = "0a224bb8655743fcbb6fb5c1e002bbf0";
63-
6462
var roofByOutlineNode = GetNode<DSFunction>("58315d46-b993-4faf-b62b-ceaca05b2255");
6563
var roofPoints1Node = GetNode<DSFunction>("0a224bb8-6557-43fc-bb6f-b5c1e002bbf0");
6664

test/Libraries/RevitIntegrationTests/ScheduleOnSheetTests.cs

Lines changed: 98 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
using Autodesk.DesignScript.Geometry;
2-
using CoreNodeModels.Input;
1+
using Autodesk.Revit.DB;
2+
using Dynamo.Graph.Nodes.ZeroTouch;
33
using NUnit.Framework;
44
using RevitServices.Persistence;
55
using RevitTestServices;
66
using RTF.Framework;
77
using System.IO;
8-
using Dynamo.Tests;
8+
using System.Linq;
9+
using Point = Autodesk.DesignScript.Geometry.Point;
910

1011
namespace RevitSystemTests
1112
{
@@ -58,5 +59,99 @@ public void CanSetGetLocation()
5859
Assert.AreEqual(x, location.X, Tolerance);
5960
Assert.AreEqual(y, location.Y, Tolerance);
6061
}
62+
63+
[Test]
64+
[TestModel(@".\Revision2025.rvt")]
65+
public void CreateAreaSchedule()
66+
{
67+
string samplePath = Path.Combine(workingDirectory, @".\Script\CreateAreaSchedule.dyn");
68+
string testPath = Path.GetFullPath(samplePath);
69+
70+
ViewModel.OpenCommand.Execute(testPath);
71+
RunCurrentModel();
72+
73+
var createAreaSchedule = GetPreviewValue("de0f82ea57aa463da89f97f52f7603b9");
74+
Assert.AreEqual("ScheduleView(Name = AreaSchedule )", createAreaSchedule.ToString());
75+
76+
var schedules = new FilteredElementCollector(DocumentManager.Instance.CurrentDBDocument)
77+
.OfClass(typeof(ViewSchedule))
78+
.Cast<ViewSchedule>()
79+
.ToList();
80+
81+
//Verify that at least one schedule is named "AreaSchedule"
82+
Assert.IsTrue(schedules.Any(s => s.Name == "AreaSchedule"), "No AreaSchedule found in the document.");
83+
}
84+
85+
[Test]
86+
[TestModel(@".\Revision2025.rvt")]
87+
public void FilterScheduleView()
88+
{
89+
string samplePath = Path.Combine(workingDirectory, @".\Script\FilterScheduleView.dyn");
90+
string testPath = Path.GetFullPath(samplePath);
91+
ViewModel.OpenCommand.Execute(testPath);
92+
93+
var selectFamilyInstance = AllNodes
94+
.OfType<Dynamo.Nodes.DSModelFamilyInstanceSelection>()
95+
.FirstOrDefault(n => n.Name == "Select Family Instance");
96+
97+
RunCurrentModel();
98+
99+
//The id of the family isn't preserve in the script so we should reselect the element
100+
var selection = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument.Selection;
101+
var selectedElementId = selection.GetElementIds()
102+
.Select(id => id.Value.ToString())
103+
.ToList();
104+
var familyInstances = selectedElementId
105+
.Select(id => DocumentManager.Instance.CurrentDBDocument.GetElement(new ElementId(int.Parse(id))) as FamilyInstance)
106+
.Where(instance => instance != null)
107+
.ToList();
108+
109+
// Update the selection with the converted list
110+
selectFamilyInstance.UpdateSelection(familyInstances);
111+
112+
RunCurrentModel();
113+
114+
//Verify that the schedule was created
115+
var schedules = new FilteredElementCollector(DocumentManager.Instance.CurrentDBDocument)
116+
.OfClass(typeof(ViewSchedule))
117+
.Cast<ViewSchedule>()
118+
.ToList();
119+
Assert.IsTrue(schedules.Any(s => s.Name == "DoorSchedule"), "No DoorSchedule found in the document.");
120+
121+
//Verify the first part of the script
122+
var scheduleViewFields = GetFlattenedPreviewValues("065abc4dcee141f68e153d4e465be579");
123+
Assert.AreEqual(207, scheduleViewFields.Count);
124+
125+
var addFilters = GetPreviewValue("cdf84e35ad9f4b1b9d0177a8e2adb2db");
126+
Assert.AreEqual("ScheduleView(Name = DoorSchedule )", addFilters.ToString());
127+
128+
var exportSchedule = GetFlattenedPreviewValues("3dde472b5310413f8820a93a51924fa2");
129+
Assert.AreEqual(211, exportSchedule.Count);
130+
Assert.IsNotNull(exportSchedule[150]);
131+
132+
//Asserts for Filters
133+
var scheduleFilterFileId = GetPreviewValue("50ad7eff68f84453b99661a6d23a08eb");
134+
Assert.AreEqual(2, scheduleFilterFileId);
135+
136+
var scheduleFilterType = GetPreviewValue("6b08ca1903bd4d2bac1194d55a5068a5");
137+
Assert.AreEqual("Contains", scheduleFilterType);
138+
139+
var scheduleFilterValue = GetPreviewValue("46460c2f971f42df9bb88a4748b5d069");
140+
Assert.AreEqual("Doors_ExtDbl_Flush", scheduleFilterValue);
141+
142+
var scheduleFilters = GetFlattenedPreviewValues("e238cfc088f441e79f5669ee99632824");
143+
Assert.IsNotNull(scheduleFilters[0]);
144+
Assert.IsNotEmpty(scheduleFilters[0].ToString());
145+
146+
//Connect the output of ScheduleView.AddFilters node to the input of ScheduleView.ClearAllFilters node
147+
var addFiltersNode = GetNode<DSFunction>("cdf84e35-ad9f-4b1b-9d01-77a8e2adb2db");
148+
var clearFiltersNode = GetNode<DSFunction>("95e2e9a7-0363-4bac-b7c0-a5fdd5769e27");
149+
150+
MakeConnector(addFiltersNode, clearFiltersNode, 0, 0);
151+
RunCurrentModel();
152+
153+
var clearFilters = GetPreviewValue("95e2e9a7-0363-4bac-b7c0-a5fdd5769e27");
154+
Assert.AreEqual("ScheduleView(Name = DoorSchedule )", clearFilters.ToString());
155+
}
61156
}
62157
}

0 commit comments

Comments
 (0)