public void WhenEnumDataTypeWithWrongNamingConvention_ShouldNotCrash() { var buffer = new byte[] { 1, 2, 3 }; var stream = new AdsStream(buffer); var binaryReader = new AdsBinaryReader(stream); var act = new Action(() => BeckhoffHelper.ReadDataType("MyTestEnumDoesNotFollowNamingConvention", 16, binaryReader)); act.ShouldNotThrow(); }
public void GivenNestedTag_WhenDefaultEnumDataType_ShouldRead() { var buffer = new byte[] { 1, 2 }; var stream = new AdsStream(buffer); var binaryReader = new AdsBinaryReader(stream); var result = BeckhoffHelper.ReadDataType("MAIN.FB_1.E_MyTestEnum", 16, binaryReader); result.GetType().Should().Be(typeof(Int16), "int16 is TwinCat 3 default for enumerations, negative values are allowed"); }
public void WhenStringDataType_ShouldReadString() { var buffer = new[] { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' }; var stream = new AdsStream(buffer); var binaryReader = new AdsBinaryReader(stream); var result = BeckhoffHelper.ReadDataType("STRING", 81, binaryReader); result.GetType().Should().Be(typeof(string)); ((string)result).Should().Be("hello"); }
public void WhenBooleanDataType_ShouldReadBool() { var buffer = new byte[] { 1 }; var stream = new AdsStream(buffer); var binaryReader = new AdsBinaryReader(stream); var result = BeckhoffHelper.ReadDataType("BOOL", 8, binaryReader); result.GetType().Should().Be(typeof(bool)); ((bool)result).Should().BeTrue(); }