public void MathSubscriberTest() { //arrange IPublisher <double> mathPublisher = new MathPublisher(new Calculator()); MathSubscriber mathSub = new MathSubscriber(mathPublisher); double expected = 155.23; double actual = 0; //act mathPublisher.PublishData(55.23); actual = mathSub.Value; //assert Assert.AreEqual(expected, actual); }
public void OnDataPublishTest() { //arrange double actual = 0; double expect = 115.56; MathPublisher publisher = new MathPublisher(new Calculator()); //act publisher.DataPublish += delegate(object sender, DataPublisherEventArgs <double> e) { actual = e.Message; }; publisher.PublishData(15.56); //assert Assert.AreEqual(expect, actual); }
static void Main(string[] args) { ConfigAutofac(); IPublisher <double> mathPublisher = new MathPublisher(container.Resolve <ICalculator>()); MathSubscriber mathSub = new MathSubscriber(mathPublisher); Console.Write("Please enter a decimal value here: "); var userInput = Console.ReadLine(); double value; if (Double.TryParse(userInput, out value)) { mathPublisher.PublishData(value); Console.WriteLine("Subscriber received: " + mathSub.Value.ToString()); } else { Console.WriteLine("Invalid input number."); } Console.ReadKey(); }
public void MultipleMathSubscriberTest() { //arrange IPublisher <double> mathPublisher = new MathPublisher(new Calculator()); MathSubscriber mathSub1 = new MathSubscriber(mathPublisher); MathSubscriber mathSub2 = new MathSubscriber(mathPublisher); MathSubscriber mathSub3 = new MathSubscriber(mathPublisher); double expected = 155.23; double actual1 = 0; double actual2 = 0; double actual3 = 0; //act mathPublisher.PublishData(55.23); actual1 = mathSub1.Value; actual2 = mathSub2.Value; actual3 = mathSub3.Value; //assert Assert.IsTrue((expected == actual1) && (expected == actual2) && (expected == actual3), "Multiple MathSubscription failed"); }