public void LastIpLookedUpTest() { var target = new PrivateAccessor(new ConcreteService()); var result = target.CallMethod("LogUserInfo", "123.123.123.123"); Assert.AreEqual("123.123.123.123", target.GetField("_lastIpLookedUp")); }
public void SqlTraceIsSentToAggregator() { var commandText = "Select * from Table1"; var duration = TimeSpan.FromMilliseconds(500); var datastoreSegment = TestTransactions.BuildSegment(null, DatastoreVendor.MSSQL, "Table1", commandText, new TimeSpan(), duration, null, null, null, "myhost", "myport", "mydatabase"); var segments = Enumerable.Empty <Segment>(); segments = segments.Concat(new[] { datastoreSegment }); var transaction = TestTransactions.CreateTestTransactionWithSegments(segments); var transactionName = _transactionMetricNameMaker.GetTransactionMetricName(transaction.TransactionName); Mock.Arrange(() => _configuration.SlowSqlEnabled).Returns(true); Mock.Arrange(() => _configuration.SqlExplainPlanThreshold).Returns(TimeSpan.FromMilliseconds(100)); var privateTransactionTransformer = new PrivateAccessor(_transactionTransformer); var args = new object[] { transaction, transactionName }; privateTransactionTransformer.CallMethod("Transform", args); var privateSqlTraceStatsInAggregator = new PrivateAccessor(_sqlTraceAggregator).GetField("_sqlTraceStats"); var privateSqlTraceStatsCollection = (SqlTraceStatsCollection)privateSqlTraceStatsInAggregator; var tracesCount = ((IDictionary <long, SqlTraceWireModel>)privateSqlTraceStatsCollection.Collection).Count; Assert.AreEqual(tracesCount, 1); }
public void TestPrivateMethodGetTotalAmount() { //Arrange using (JMRadForm form = new JMRadForm()) { List <Order> orders = form.GetData(); form.Grid.DataSource = orders; //Create a mocked instance of your class under test var orderMock = Mock.Create <Order>(); //Arrange your expectations Mock.NonPublic.Arrange <float>(orderMock, "GetTotalAmount").Returns(5f); // Act //Create new PrivateAccessor with the mocked instance as an argument var inst = new PrivateAccessor(orderMock); //Call the non-public method by giving its exact name var actual = inst.CallMethod("GetTotalAmount"); // Assert //Finally, you can assert against its expected return value Assert.AreEqual(5f, actual); } }
public void TestLogUserInfo() { var target = new PrivateAccessor(new ConcreteService()); var result = target.CallMethod("LogUserInfo", "172.217.1.174"); Assert.IsInstanceOfType(result, typeof(bool)); Assert.IsTrue((bool)result); }
public void PrivateAccessor_ShouldCallPrivateMethod() { // ACT // Wrapping the instance holding the private method. var inst = new PrivateAccessor(new ClassWithNonPublicMembers()); // Calling the non-public method by giving its exact name. var actual = inst.CallMethod("MePrivate"); // ASSERT Assert.AreEqual(1000, actual); }
public void TestBadIpAddress() { var target = new PrivateAccessor(new ConcreteService()); try { var result = target.CallMethod("LogUserInfo", ""); Assert.Fail("Should have failed"); } catch (Exception ex) { Assert.AreEqual(ex.Message, "The call to ipinfo faied"); } }
public void SqlTracesCollectedMetricIsAccurate() { var generatedMetrics = new MetricStatsDictionary <string, MetricDataWireModel>(); Mock.Arrange(() => _metricAggregator.Collect(Arg.IsAny <TransactionMetricStatsCollection>())).DoInstead <TransactionMetricStatsCollection>(txStats => generatedMetrics = txStats.GetUnscopedForTesting()); Mock.Arrange(() => _configuration.SlowSqlEnabled).Returns(true); Mock.Arrange(() => _configuration.SqlExplainPlanThreshold).Returns(TimeSpan.FromMilliseconds(100)); var segments = new List <Segment>(); int nextId = 0; var txSegmentState = Mock.Create <ITransactionSegmentState>(); Mock.Arrange(() => txSegmentState.AttribDefs).Returns(() => new AttributeDefinitions(new AttributeFilter(new AttributeFilter.Settings()))); Mock.Arrange(() => txSegmentState.ParentSegmentId()).Returns(() => nextId == 0 ? (int?)null : nextId); Mock.Arrange(() => txSegmentState.CallStackPush(Arg.IsAny <Segment>())).Returns(() => ++ nextId); var commandText = "Select * from Table1"; var duration = TimeSpan.FromMilliseconds(500); var datastoreSegment1 = TestTransactions.BuildSegment(txSegmentState, DatastoreVendor.MSSQL, "Table1", commandText, new TimeSpan(), duration, null, null, null, "myhost", "myport", "mydatabase"); segments.Add(datastoreSegment1); commandText = "Select * from Table2"; duration = TimeSpan.FromMilliseconds(1000); var datastoreSegment2 = TestTransactions.BuildSegment(txSegmentState, DatastoreVendor.MSSQL, "Table1", commandText, new TimeSpan(), duration, null, null, null, "myhost", "myport", "mydatabase"); segments.Add(datastoreSegment2); commandText = "Select * from Table2"; duration = TimeSpan.FromMilliseconds(900); var datastoreSegment3 = TestTransactions.BuildSegment(txSegmentState, DatastoreVendor.MSSQL, "Table1", commandText, new TimeSpan(), duration, null, null, null, "myhost", "myport", "mydatabase"); segments.Add(datastoreSegment3); var transaction = TestTransactions.CreateTestTransactionWithSegments(segments); var transactionName = _transactionMetricNameMaker.GetTransactionMetricName(transaction.TransactionName); var privateTransactionTransformer = new PrivateAccessor(_transactionTransformer); var args = new object[] { transaction, transactionName }; privateTransactionTransformer.CallMethod("Transform", args); string sqlTracesCollectedMetricName = "Supportability/SqlTraces/TotalSqlTracesCollected"; Assert.IsTrue(generatedMetrics.TryGetValue(sqlTracesCollectedMetricName, out MetricDataWireModel data)); Assert.AreEqual(3, data.Value0); }
public void GetNumberOfPeople_TotalPeopleGreaterThenNotInterest_Positive() { //Arrange IManual manual = new Mock <IManual>().Object; Order order = new Order { NumberOfPeople = 100, NumberOfPeopleNotInterest = 50 }; var target = new PrivateAccessor(new JuiceBuilder(manual)); //Act var original = target.CallMethod("GetNumberOfPeople", order); //Assert Assert.AreEqual(original, 50); }
public void When_harvest_occurs_default_reservoir_size_is_reported_accurately() { const uint expectedReservoirSize = 100; _errorEventAggregator.Collect(new ErrorEventWireModel(_attribValues, false, 0.1f)); _errorEventAggregator.Collect(new ErrorEventWireModel(_attribValues, false, 0.2f)); // Access the private collection of events to get the number of add attempts. var privateAccessor = new PrivateAccessor(_errorEventAggregator); var actualReservoirSize = privateAccessor.CallMethod("GetReservoirSize"); _harvestAction(); Assert.AreEqual(expectedReservoirSize, actualReservoirSize); }
public void KeyTest() { var log = Mock.Create <ILogger>(); var http = Mock.Create <IHttpService>(); var file = Mock.Create <IFileService>(); Mock.Arrange(() => file.ReadAllLines(Arg.AnyString)) .Returns(new string[] { "key" }) .OccursOnce(); var target = new PrivateAccessor(new LocationService(http, file, log)); var result = target.CallMethod("Key"); Assert.IsInstanceOfType(result, typeof(string)); Assert.AreEqual("key", result); }
public void InvalidCoordinatesTest() { var log = Mock.Create <ILogger>(); var http = Mock.Create <IHttpService>(); var file = Mock.Create <IFileService>(); Mock.Arrange(() => file.ReadAllLines(Arg.AnyString)) .Returns(new string[] { "key" }) .OccursOnce(); var target = new PrivateAccessor(new LocationService(http, file, log)); var result = target.CallMethod("ValidCoordinates", 200, 200); Assert.IsInstanceOfType(result, typeof(bool)); Assert.IsFalse((bool)result); }
public void ShouldCallArrangedPrivateMethod() { // ARRANGE // Create a mocked instance of your class under test with original behavior. // You can also use original instance object and perform partial mocking. var mockedClass = Mock.Create <ClassWithNonPublicMembers>(Behavior.CallOriginal); // Arranging: When the private MePrivate() is called from the mockedClass instance, it should return 5. Mock.NonPublic.Arrange <int>(mockedClass, "MePrivate").Returns(5); // ACT // Wrapping the mocked instance with a private accessor. var inst = new PrivateAccessor(mockedClass); // Calling the non-public method by giving its exact name. var actual = inst.CallMethod("MePrivate"); // ASSERT - No matter the mock is wrapped, it should keep its arrangements. Assert.AreEqual(5, actual); }