删除(fragment 矩阵分析诊断链): - SystemManagementViewModel: 方法5 文本块、AnalyzeFragmentOrientations、 AppendFragmentAnalysis、FragmentOrientationAnalysis 类 - FragmentRepresentativePoseHelper.cs(TryGetRepresentativeFrame 无调用者) - RealObjectReferencePoseResolver.cs(TryDetectDefaultUpAxis 只被方法5 用) - FragmentRepresentativePoseHelperTests.cs - FragmentDefaultUpContext: 删 GetCurrentHostUpAxis / GetCurrentDocumentFragmentDefaultUpAxis / IsSupportedAxis(均无调用者) 保留: - 坐标系检测 方法1/2/3/4/6(文档级检测) - 真实物体变换诊断(TransformDiagnosticInfo 保留,轴可视化 fallback 到几何后代/选中节点 Transform,不再用 fragment) - FragmentDefaultUpContext 改名 DocumentKeyContext(仅文档 key 缓存, 用于模型根旋转提示;名字不再含 fragment) 验证:单元测试 185/185、集成测试 25/25
48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using NavisworksTransport.Utils.CoordinateSystem;
|
|
|
|
namespace NavisworksTransport.UnitTests.CoordinateSystem
|
|
{
|
|
[TestClass]
|
|
public class DocumentKeyContextTests
|
|
{
|
|
[TestInitialize]
|
|
public void SetUp()
|
|
{
|
|
DocumentKeyContext.ResetForTests();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void GetOrCreateDocumentKey_ReusesFirstStableKey_WhenDocumentMetadataTemporarilyChanges()
|
|
{
|
|
const int runtimeDocumentId = 42;
|
|
|
|
string initialKey = DocumentKeyContext.GetOrCreateDocumentKey(
|
|
runtimeDocumentId,
|
|
@"C:\models\floor2.nwd",
|
|
"Floor2");
|
|
|
|
string transientKey = DocumentKeyContext.GetOrCreateDocumentKey(
|
|
runtimeDocumentId,
|
|
string.Empty,
|
|
"无标题");
|
|
|
|
Assert.AreEqual(initialKey, transientKey);
|
|
Assert.AreEqual("file:C:\\models\\floor2.nwd", transientKey);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void GetOrCreateDocumentKey_UsesRuntimeScopedFallback_WhenFileNameIsUnavailable()
|
|
{
|
|
const int runtimeDocumentId = 7;
|
|
|
|
string key = DocumentKeyContext.GetOrCreateDocumentKey(
|
|
runtimeDocumentId,
|
|
string.Empty,
|
|
"无标题");
|
|
|
|
Assert.AreEqual("runtime:7|title:无标题", key);
|
|
}
|
|
}
|
|
}
|