private static void Compare(VariableTypeDesign expected, VariableTypeDesign actual) { CompareTypeDesign(expected, actual); Compare(expected.DefaultValue, actual.DefaultValue); Compare(expected.DataType, actual.DataType, "DataType"); if (expected.ValueRankSpecified && expected.ValueRank == ValueRank.Scalar) { expected.ValueRankSpecified = false; } Assert.AreEqual <bool>(expected.ValueRankSpecified, actual.ValueRankSpecified); if (expected.ValueRankSpecified) { Assert.AreEqual <ValueRank>(expected.ValueRank, actual.ValueRank); } Assert.AreEqual <string>(expected.ArrayDimensions, actual.ArrayDimensions); //Not supported by the VariableType NodeClass Assert.IsFalse(expected.ExposesItsChildren); Assert.IsFalse(actual.ExposesItsChildren); Assert.IsFalse(expected.AccessLevelSpecified); Assert.IsFalse(actual.AccessLevelSpecified); Assert.IsFalse(expected.HistorizingSpecified); Assert.IsFalse(actual.HistorizingSpecified); Assert.IsFalse(expected.MinimumSamplingIntervalSpecified); Assert.IsFalse(actual.MinimumSamplingIntervalSpecified); }
//internal API internal override NodeDesign Export(List <string> path, Action <InstanceDesign, List <string> > createInstanceType) { VariableTypeDesign _ret = new VariableTypeDesign() { ArrayDimensions = this.ArrayDimensions, DataType = this.DataType, DefaultValue = this.DefaultValue, //Not supported by the VariableType NodeClass ExposesItsChildren = false, AccessLevel = AccessLevel.ReadWrite, AccessLevelSpecified = false, Historizing = false, HistorizingSpecified = false, MinimumSamplingInterval = 0, MinimumSamplingIntervalSpecified = false, }; _ret.ValueRank = this.ValueRank.GetValueRank(x => _ret.ValueRankSpecified = x, TraceEvent); base.Update(_ret, path, createInstanceType); return(_ret); }