test(templates): override changes drive revision hash forward

This commit is contained in:
Joseph Doherty
2026-05-28 11:55:57 -04:00
parent c852979835
commit 545a22e014
@@ -80,4 +80,40 @@ public class ConnectionBindingOverrideTests
var attr = result.Value.Attributes.Single(a => a.CanonicalName == "Speed");
Assert.Equal("TemplateDefault", attr.DataSourceReference);
}
[Fact]
public void Override_change_changes_revision_hash()
{
var template = CreateTemplateWithDataSourcedAttribute("Speed", dataSourceReference: "TemplateDefault");
var instance1 = CreateInstance();
instance1.ConnectionBindings.Add(new InstanceConnectionBinding("Speed")
{
DataConnectionId = 1,
DataSourceReferenceOverride = "ns=2;s=Pump1.Speed"
});
var instance2 = CreateInstance();
instance2.ConnectionBindings.Add(new InstanceConnectionBinding("Speed")
{
DataConnectionId = 1,
DataSourceReferenceOverride = "ns=2;s=Pump2.Speed"
});
var connections = SingleConnection(id: 1);
var compositionMap = new Dictionary<int, IReadOnlyList<TemplateComposition>>();
var composedChains = new Dictionary<int, IReadOnlyList<Template>>();
var result1 = _sut.Flatten(instance1, [template], compositionMap, composedChains, connections);
var result2 = _sut.Flatten(instance2, [template], compositionMap, composedChains, connections);
Assert.True(result1.IsSuccess);
Assert.True(result2.IsSuccess);
var hasher = new RevisionHashService();
var hash1 = hasher.ComputeHash(result1.Value);
var hash2 = hasher.ComputeHash(result2.Value);
Assert.NotEqual(hash1, hash2);
}
}