public void GetFormatInfo_ShouldPassOnZeroResult() { var formatInfo = new LibsndfileFormatInfo { Format = LibsndfileFormat.Wav, Name = "Wav", Extension = ".wav" }; var allocatedFormatInfo = new LibsndfileFormatInfo { Format = LibsndfileFormat.Wav }; var memoryMock = new Mock <UnmanagedMemoryHandle>(); var marshallerMock = new Mock <ILibsndfileMarshaller>(); marshallerMock.Setup(x => x.Allocate(allocatedFormatInfo)).Returns(memoryMock.Object); marshallerMock.Setup(x => x.MemoryHandleTo <LibsndfileFormatInfo>(It.IsAny <UnmanagedMemoryHandle>())).Returns(formatInfo); var mock = new Mock <ILibsndfileApi>(); mock.Setup(x => x.Command(It.IsAny <IntPtr>(), It.IsAny <LibsndfileCommand>(), It.IsAny <IntPtr>(), It.IsAny <int>())).Returns(0); var api = new LibsndfileCommandApiNativeWrapper(mock.Object, marshallerMock.Object); var retval = api.GetFormatInfo(LibsndfileFormat.Wav); Assert.AreEqual(formatInfo, retval); }
public void GetFormatInfo_ShouldThrowExceptionOnNegativeResult() { var marshallerMock = new Mock<ILibsndfileMarshaller>(); marshallerMock.Setup(x => x.Allocate(It.IsAny<LibsndfileFormatInfo>())).Returns(It.IsAny<IntPtr>()); var mock = new Mock<ILibsndfileApi>(); mock.Setup(x => x.Command(It.IsAny<IntPtr>(), It.IsAny<LibsndfileCommand>(), It.IsAny<IntPtr>(), It.IsAny<int>())).Returns(-1); var api = new LibsndfileCommandApiNativeWrapper(mock.Object, marshallerMock.Object); api.GetFormatInfo(LibsndfileFormat.Wav); }
public void GetFormatInfo_ShouldThrowExceptionOnGreaterThanOneResult() { var marshallerMock = new Mock <ILibsndfileMarshaller>(); marshallerMock.Setup(x => x.Allocate(It.IsAny <LibsndfileFormatInfo>())).Returns(It.IsAny <IntPtr>()); var mock = new Mock <ILibsndfileApi>(); mock.Setup(x => x.Command(It.IsAny <IntPtr>(), It.IsAny <LibsndfileCommand>(), It.IsAny <IntPtr>(), It.IsAny <int>())).Returns(2); var api = new LibsndfileCommandApiNativeWrapper(mock.Object, marshallerMock.Object); api.GetFormatInfo(LibsndfileFormat.Wav); }
public void GetFormatInfo_ShouldPassOnZeroResult() { var formatInfo = new LibsndfileFormatInfo { Format = LibsndfileFormat.Wav, Name = "Wav", Extension = ".wav" }; var allocatedFormatInfo = new LibsndfileFormatInfo { Format = LibsndfileFormat.Wav }; var memoryMock = new Mock<UnmanagedMemoryHandle>(); var marshallerMock = new Mock<ILibsndfileMarshaller>(); marshallerMock.Setup(x => x.Allocate(allocatedFormatInfo)).Returns(memoryMock.Object); marshallerMock.Setup(x => x.MemoryHandleTo<LibsndfileFormatInfo>(It.IsAny<UnmanagedMemoryHandle>())).Returns(formatInfo); var mock = new Mock<ILibsndfileApi>(); mock.Setup(x => x.Command(It.IsAny<IntPtr>(), It.IsAny<LibsndfileCommand>(), It.IsAny<IntPtr>(), It.IsAny<int>())).Returns(0); var api = new LibsndfileCommandApiNativeWrapper(mock.Object, marshallerMock.Object); var retval = api.GetFormatInfo(LibsndfileFormat.Wav); Assert.AreEqual(formatInfo, retval); }