public void TestConstructorSuccess() { string senderSource = "senderSource"; Option <string> receiverSource = Option.Some("receiverSource"); int batchSize = 10; string resultType = "resultType1"; NetworkControllerType networkControllerType = NetworkControllerType.Offline; var mockSenderStore = new Mock <ISequentialStore <TestOperationResult> >(); var senderResults = new StoreTestResultCollection <TestOperationResult>(mockSenderStore.Object, batchSize); var mockReceiverStore = new Mock <ISequentialStore <TestOperationResult> >(); var receiverResults = Option.Some <ITestResultCollection <TestOperationResult> >( new StoreTestResultCollection <TestOperationResult>(mockReceiverStore.Object, batchSize)); var reportGenerator = new DirectMethodReportGenerator( TestDescription, Guid.NewGuid().ToString(), senderSource, senderResults, receiverSource, receiverResults, resultType, NetworkStatusTimeline, networkControllerType); Assert.Equal(TestDescription, reportGenerator.TestDescription); Assert.Equal(receiverSource, reportGenerator.ReceiverSource); Assert.Equal(senderResults, reportGenerator.SenderTestResults); Assert.Equal(senderSource, reportGenerator.SenderSource); Assert.Equal(receiverResults, reportGenerator.ReceiverTestResults); Assert.Equal(resultType, reportGenerator.ResultType); }
public async Task TestCreateReportAsyncWithEmptyResults() { string senderSource = "senderSource"; string receiverSource = "receiverSource"; int batchSize = 10; NetworkControllerType networkControllerType = NetworkControllerType.Offline; var mockSenderStore = new Mock <ISequentialStore <TestOperationResult> >(); var senderResults = new StoreTestResultCollection <TestOperationResult>(mockSenderStore.Object, batchSize); var mockReceiverStore = new Mock <ISequentialStore <TestOperationResult> >(); var receiverResults = Option.Some <ITestResultCollection <TestOperationResult> >( new StoreTestResultCollection <TestOperationResult>(mockReceiverStore.Object, batchSize)); var reportGenerator = new DirectMethodReportGenerator( TestDescription, Guid.NewGuid().ToString(), senderSource, senderResults, Option.Some(receiverSource), receiverResults, "resultType1", NetworkStatusTimeline, networkControllerType); var report = (DirectMethodReport)await reportGenerator.CreateReportAsync(); Assert.Equal(0UL, report.NetworkOnSuccess); Assert.Equal(0UL, report.NetworkOffSuccess); Assert.Equal(0UL, report.NetworkOnToleratedSuccess); Assert.Equal(0UL, report.NetworkOffToleratedSuccess); Assert.Equal(0UL, report.NetworkOnFailure); Assert.Equal(0UL, report.NetworkOffFailure); Assert.Equal(0UL, report.MismatchSuccess); Assert.Equal(0UL, report.MismatchFailure); }
public async Task TestCreateReportAsyncWithEmptyResults() { string expectedSource = "expectedSource"; string actualSource = "actualSource"; int batchSize = 10; var mockExpectedStore = new Mock <ISequentialStore <TestOperationResult> >(); var expectedResults = new StoreTestResultCollection <TestOperationResult>(mockExpectedStore.Object, batchSize); var mockActualStore = new Mock <ISequentialStore <TestOperationResult> >(); var actualResults = new StoreTestResultCollection <TestOperationResult>(mockActualStore.Object, batchSize); var reportGenerator = new DirectMethodReportGenerator( Guid.NewGuid().ToString(), expectedSource, expectedResults, actualSource, actualResults, "resultType1", new DirectMethodTestOperationResultComparer(), NetworkStatusTimeline); var report = (DirectMethodReport)await reportGenerator.CreateReportAsync(); Assert.Equal(0UL, report.NetworkOnSuccess); Assert.Equal(0UL, report.NetworkOffSuccess); Assert.Equal(0UL, report.NetworkOnToleratedSuccess); Assert.Equal(0UL, report.NetworkOffToleratedSuccess); Assert.Equal(0UL, report.NetworkOnFailure); Assert.Equal(0UL, report.NetworkOffFailure); Assert.Equal(0UL, report.MismatchSuccess); Assert.Equal(0UL, report.MismatchFailure); }
public void TestConstructorSuccess() { string expectedSource = "expectedSource"; string actualSource = "actualSource"; int batchSize = 10; string resultType = "resultType1"; var mockExpectedStore = new Mock <ISequentialStore <TestOperationResult> >(); var expectedResults = new StoreTestResultCollection <TestOperationResult>(mockExpectedStore.Object, batchSize); var mockActualStore = new Mock <ISequentialStore <TestOperationResult> >(); var actualResults = new StoreTestResultCollection <TestOperationResult>(mockActualStore.Object, batchSize); var reportGenerator = new DirectMethodReportGenerator( Guid.NewGuid().ToString(), expectedSource, expectedResults, actualSource, actualResults, resultType, new DirectMethodTestOperationResultComparer(), NetworkStatusTimeline); Assert.Equal(actualSource, reportGenerator.ActualSource); Assert.Equal(actualResults, reportGenerator.ActualTestResults); Assert.Equal(expectedSource, reportGenerator.ExpectedSource); Assert.Equal(expectedResults, reportGenerator.ExpectedTestResults); Assert.Equal(resultType, reportGenerator.ResultType); Assert.Equal(typeof(DirectMethodTestOperationResultComparer), reportGenerator.TestResultComparer.GetType()); }
public async Task TestCreateReportWithSenderResultsOnlyAsync( IEnumerable <ulong> senderStoreValues, IEnumerable <HttpStatusCode> statusCodes, IEnumerable <DateTime> timestamps, int batchSize, ulong expectedNetworkOnSuccess, ulong expectedNetworkOffSuccess, ulong expectedNetworkOnToleratedSuccess, ulong expectedNetworkOffToleratedSuccess, ulong expectedNetworkOnFailure, ulong expectedNetworkOffFailure, ulong expectedMismatchSuccess, ulong expectedMismatchFailure, bool expectedIsPassed, NetworkControllerType networkControllerType = NetworkControllerType.Offline) { string senderSource = "senderSource"; string resultType = TestOperationResultType.DirectMethod.ToString(); var mockSenderStore = new Mock <ISequentialStore <TestOperationResult> >(); var senderResults = new StoreTestResultCollection <TestOperationResult>(mockSenderStore.Object, batchSize); var mockReceiverStore = new Mock <ISequentialStore <TestOperationResult> >(); var receiverResults = Option.None <ITestResultCollection <TestOperationResult> >(); var reportGenerator = new DirectMethodReportGenerator( TestDescription, Guid.NewGuid().ToString(), senderSource, senderResults, Option.None <string>(), receiverResults, resultType, NetworkStatusTimeline, networkControllerType); var senderStoreData = GetSenderStoreData(senderSource, resultType, senderStoreValues, statusCodes, timestamps, Guid.NewGuid()); for (int i = 0; i < senderStoreData.Count; i += batchSize) { int startingOffset = i; mockSenderStore.Setup(s => s.GetBatch(startingOffset, batchSize)).ReturnsAsync(senderStoreData.Skip(startingOffset).Take(batchSize)); } var report = (DirectMethodReport)await reportGenerator.CreateReportAsync(); Assert.Equal(expectedNetworkOnSuccess, report.NetworkOnSuccess); Assert.Equal(expectedNetworkOffSuccess, report.NetworkOffSuccess); Assert.Equal(expectedNetworkOnToleratedSuccess, report.NetworkOnToleratedSuccess); Assert.Equal(expectedNetworkOffToleratedSuccess, report.NetworkOffToleratedSuccess); Assert.Equal(expectedNetworkOnFailure, report.NetworkOnFailure); Assert.Equal(expectedNetworkOffFailure, report.NetworkOffFailure); Assert.Equal(expectedMismatchSuccess, report.MismatchSuccess); Assert.Equal(expectedMismatchFailure, report.MismatchFailure); Assert.Equal(expectedIsPassed, report.IsPassed); }
public async Task TestCreateReportAsync( IEnumerable <string> expectedStoreValues, IEnumerable <string> actualStoreValues, IEnumerable <int> statusCodes, IEnumerable <DateTime> timestamps, int batchSize, ulong expectedNetworkOnSuccess, ulong expectedNetworkOffSuccess, ulong expectedNetworkOnToleratedSuccess, ulong expectedNetworkOffToleratedSuccess, ulong expectedNetworkOnFailure, ulong expectedNetworkOffFailure, ulong expectedMismatchSuccess, ulong expectedMismatchFailure, bool expectedIsPassed) { string expectedSource = "expectedSource"; string actualSource = "actualSource"; string resultType = TestOperationResultType.DirectMethod.ToString(); var mockExpectedStore = new Mock <ISequentialStore <TestOperationResult> >(); var expectedResults = new StoreTestResultCollection <TestOperationResult>(mockExpectedStore.Object, batchSize); var mockActualStore = new Mock <ISequentialStore <TestOperationResult> >(); var actualResults = new StoreTestResultCollection <TestOperationResult>(mockActualStore.Object, batchSize); var reportGenerator = new DirectMethodReportGenerator( Guid.NewGuid().ToString(), expectedSource, expectedResults, actualSource, actualResults, resultType, new DirectMethodTestOperationResultComparer(), NetworkStatusTimeline); var expectedStoreData = GetExpectedStoreData(expectedSource, resultType, expectedStoreValues, statusCodes, timestamps); for (int i = 0; i < expectedStoreData.Count; i += batchSize) { int startingOffset = i; mockExpectedStore.Setup(s => s.GetBatch(startingOffset, batchSize)).ReturnsAsync(expectedStoreData.Skip(startingOffset).Take(batchSize)); } var actualStoreData = GetActualStoreData(actualSource, resultType, actualStoreValues, timestamps); for (int j = 0; j < expectedStoreData.Count; j += batchSize) { int startingOffset = j; mockActualStore.Setup(s => s.GetBatch(startingOffset, batchSize)).ReturnsAsync(actualStoreData.Skip(startingOffset).Take(batchSize)); } var report = (DirectMethodReport)await reportGenerator.CreateReportAsync(); Assert.Equal(expectedNetworkOnSuccess, report.NetworkOnSuccess); Assert.Equal(expectedNetworkOffSuccess, report.NetworkOffSuccess); Assert.Equal(expectedNetworkOnToleratedSuccess, report.NetworkOnToleratedSuccess); Assert.Equal(expectedNetworkOffToleratedSuccess, report.NetworkOffToleratedSuccess); Assert.Equal(expectedNetworkOnFailure, report.NetworkOnFailure); Assert.Equal(expectedNetworkOffFailure, report.NetworkOffFailure); Assert.Equal(expectedMismatchSuccess, report.MismatchSuccess); Assert.Equal(expectedMismatchFailure, report.MismatchFailure); Assert.Equal(expectedIsPassed, report.IsPassed); }