Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / NewStats: 3,195,451 members, 7,958,354 topics. Date: Wednesday, 25 September 2024 at 12:59 PM |
Nairaland Forum / Science/Technology / Programming / Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD (5532 Views)
[php Tutorial] - Building A Rest Api / Laravel Tutorial: Building An E-commerce Web App - Part1 / Creating UWP Application In C# Or C++ (xaml) (2) (3) (4)
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 1:43pm On Aug 07, 2015 |
i'm sorry i haven't updated and conclude this simple tut. Lost my phone. (my hotspot lolz). I would torrent all the remain updates when i secure a good internet source. thanks for your contributions and followership |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 11:25am On Aug 10, 2015 |
Finally.. Back online |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 11:28am On Aug 10, 2015 |
I noted a Veeeeery BIG logical error in the Whole App.... I feel very ashamed ... But why can't you guys point it out in the first Place... Calculations for Addition and the rest are totally wrong !!!!.... |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 11:30am On Aug 10, 2015 |
Check My Posts Again...Updated the Posts |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 1:43pm On Aug 10, 2015 |
BEGINNING TESTS: TESTING ADDITION OF ORDINARY FRACTIONS 2 The next Test Would be straight forward. We’d be leveraging on C#’s operator Overloading support to create a nice addition interface. Let’s write the Test !!!. Update the Test Method testOrdinaryFractionsAdditionsUsingOpOverloading to
Notice the Red wiggly under firstFraction + secondFraction and the message : Operator '+' cannot be applied to operands of type 'FractionLibrary.Fraction' and 'FractionLibrary.Fraction'; [img]http:///a/img540/2129/TKoSlp.png[/img] C# allow us to overload the + operator when use it on our class. This is done by creating method named operator followed by the + sign. Let’s Implement it to just [b] pass this test. Add this method to [b] Fraction.cs class
Weird Method Huh? You can Learn More about Operator Overloading via Google or Books. Notice the Red wiggly line is gone. Let’s Run the Test Again Passed !!! [img]http:///a/img538/4214/GuztLa.jpg[/img] Now Let’s make how test fail so that we can compute the values. Update the Test Method testOrdinaryFractionsAdditionsUsingOpOverloading
Run the Tests.. It Should Fail, With the Message : Expected<190> .Actual<75> Now Let’s Make it Pass By Updating the Overload Method to do actual Calculation.
Save and Run the test File Again. Tests should Pass FractionArithmeticTests.cs
Fraction.cs
FROM THE ABOVE, IMPLEMENTING SUBTRACTION, MULTIPLICATION AND DIVISION WOULD BE VERY EASY SO I WON’T DISCUSS MUCH ON IT BUT WOULD PASTE THE TESTS AND METHODS. I’D ADVISE YOU FOLLOW THE STEPS I FOLLOWED WHILE IMPLEMENTING THE ADDITION OPERATION. FIRST MAKE THE TEST COMPILE BY ADDING A RETURN VALUE THAT WOULD JUST MAKE IT PASS. THEN ADD ANOTHER TEST THAT WOULD MAKE IT FAIL THEN, FINALLY, FIX THE FUNCTION TO MAKE THE THIS PASS. |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 1:59pm On Aug 10, 2015 |
IMPLEMENTING SUBTRACTION, MULTIPLICATION AND DIVISION TESTS FOR SUBTRACTION
METHODS FOR SUBSTRACTION
TESTS FOR MULTIPLICATION
METHODS FOR MULTIPLICATION
TESTS FOR DIVISION
METHODS FOR DIVISION
Next, Run the tests. Passed !!! [img]http:///a/img909/4167/tA3B8s.png[/img] |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 3:06pm On Aug 10, 2015 |
IMPLEMETING INCREMENT, DECREMENT, AND SYNATACTIC SUGARS Incrementing a fraction involves adding One to the fraction. But it is not that straight forward. To add 1 to a fraction we create a fraction with the Numerator and Denominator set to 1 and then we Add the fraction to our fraction. The same goes for decrement but we’ll do subtraction [img]http:///a/img901/9121/ngdmmi.jpg[/img] Ok. Just like Addition, we can implement increment and decrement using method and operator overloading. Let’s begin by writing our tests in the tests class
[img]http:///a/img673/1175/6VTdCS.jpg[/img] Our Code Won’t Compile because of the unimplemented method and operator. For the sake of brevity I would implement them directly not just implementing it just to make current test pass BUT you should follow the method I followed earlier by implementing a simple method that would make it pass then add another test that would fail the make it pass. Let’s implement them in the Fraction class.
[img]http:///a/img540/9593/OiYJOI.jpg[/img] Run the Tests Passed !!! [img]http:///a/img901/5940/r6gSuJ.jpg[/img] Let’s quickly implement Decrement in the tests class Our Tests for Decrement
[img]http:///a/img910/61/7bjY9t.jpg[/img] Our Code Won’t Compile because of the unimplemented method and operator. For the sake of brevity I would implement them directly not just implementing it just to make current test pass. Let’s implement them in the Fraction class.
[img]http:///a/img673/7899/w7vw7C.jpg[/img] Run the Tests Passed !!! [img]http:///a/img661/1806/fbWSoV.jpg[/img] |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 3:13pm On Aug 10, 2015 |
IMPLEMENTING SYNTACTIC SUGARS What if we want to achieve something like this [img]http:///a/img661/5507/sHpT7q.jpg[/img] We can implement this by implementing a static implicit cast method on Strings; To best illustrate this syntactic sugar, let’s first write the test in the tests Class.
[img]http:///a/img905/4747/BxXj0j.jpg[/img] Let’s implement the method in the Fraction Class (NOTE: FOLLOW THE PASS -> FAIL -> PASS METHOD)
[img]http:///a/img912/3999/0Njo8J.jpg[/img] NOTE: the int.Parse method throws an Exception if the input String is not valid. Run the tests !!!.. They should pass. (NOTE: FOLLOW THE PASS -> FAIL -> PASS METHOD) [img]http:///a/img911/4578/ATzbPD.jpg[/img] Now Let’s implement the ToString method. |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 3:18pm On Aug 10, 2015 |
IMPLEMENTING THE TOSTRING METHOD Overriding C#’s ToString method would enable us to define how we want our Fraction class to be displayed as a String. So that we can achieve the below [img]http:///a/img661/8026/uxIU5a.jpg[/img] Let’s Write the Tests in the tests class.
[img]http:///a/img540/6037/oTKPlN.jpg[/img] Let’s implement the method in the Fraction Class (NOTE: FOLLOW THE PASS -> FAIL -> PASS METHOD)
[img]http:///a/img540/2245/s3UnY6.jpg[/img] Run the tests !!! …. They should all pass .. [img]http:///a/img911/2290/hL7efq.jpg[/img] Now Let’s implement the Console App for Our Ordinary Fraction Operations. |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 3:23pm On Aug 10, 2015 |
Implementing the Console App for Our Ordinary Fraction Operations Before we can make use of our Fraction Class in the Console App project we need to add a reference to the FractionLibrary project. 1) Right Click On References under FractionConsoleApp project in the Solution Explorer -> Click Add Reference [img]http:///a/img538/9408/1jN64u.jpg[/img] 2) Check FractionLibrary in the list. Click Ok [img]http:///a/img912/7441/hNFdXu.jpg[/img] 3) Update Program.cs in FractionConsoleApp[/b]project, adding [b] using FractionLibrary; Our Program.cs Class now
How do we go about implementing the operations…… Lets first write a simple algorithm … 1) Display Welcome Message 2) Display Available Operations 3) Accept Type of Operation to be performed 4) If Operation to be performed is a binary Operation a. Accept FirstFraction 1) If accepted value is not valid, request for another until correct value inputted b. Accept SecondFraction 1) If accepted value is not valid, request for another until correct value inputted c. Perform Selected Operation on two fractions 5) If Operation to be performed is a Unary Operation a. Accept SingleFraction 1) If accepted value is not valid, request for another until correct value inputted b. Perform Selected Operation on fraction 6) Output result 1. Display Welcome Message: Let’s create a method named displayWelcomeMessage to display necessary welcome message
2. Display Available Operations: We can write a method named displayAvailableOperations to display the Operations
3. Accept Type of Operation to be performed: We’d write a method named getTypeOfOperationToPerform to accept and return an integer value representing the type of operation the user wants to perform
4. If Operation to be is a binary Operation: Operations 1 to 4 requires two fractions, we need a condition to check this. So that we can accept two fractions.
5. Accept FirstFraction and Accept SecondFraction: Since these two steps are doing the same thing but with a different prompt. we can write a method named getSingleFractionFromUser to accept a fraction from the user which the two methods , getFirstFraction and getSecondFraction, we’re going to create, would call.
6. Perform Selected Operation on two fractions : To Implement this, we would need a condition to Determine which of the 4 binary operations is chosen. So that the need operation is performed. We’d create a method named performBinaryOperation that accepts, as arguments, the operation to be performed and the first and second Fraction. The method then returns the result.
7. If Operation to be performed is a Unary Operation: Operations 5 and 6 requires One fraction, we need a condition to check this. So that we can accept One fraction.
8. Accept SingleFraction: Let’s Create a method named getSingleFraction
9. Perform Selected Operation on fraction: To Implement this, we would need a condition to Determine which of the 2 Unary operations is chosen. So that the need operation is performed. We’d create a method named performUnaryOperation that accepts, as arguments, the operation to be performed and Fraction. The method then returns the result.
10. Output result: Let’s make this simple
PUTTING IT ALL TOGETHER Program.cs
|
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 3:28pm On Aug 10, 2015 |
We'd Implement Mixed Fraction Later... Your thoughts ? |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by dhtml(m): 5:33pm On Aug 10, 2015 |
jacob05:What makes you think your viewers know how to add and subtract in the first place? So how will they even correct you? Anyway, carry go o jare. |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 5:36pm On Aug 10, 2015 |
dhtml: Lolz.....aba |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 7:58pm On Aug 10, 2015 |
RUN
|
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by Nobody: 7:32pm On Aug 13, 2015 |
The master-troll is now back full-force(from a trollin vacation) on this thread. I shall be launching my IDE very soon and start testing out all these jagbajantis you call c# codes to see if they are authentic before i move a motion for your banishment from this board! |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 8:20pm On Aug 13, 2015 |
dhtml18:lolz.. Pls do sir !!!. |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by jacob05(m): 9:47pm On Aug 14, 2015 |
Created a Blog !!!... You can now view all posts, with syntax highlighting and better layout on my blog. PART 1: https://naijadeveloper./2015/08/14/tutorial-part-1-building-a-simple-fraction-arithmetic-program-in-c-using-tdd/ PART 2: https://naijadeveloper./2015/08/14/tutorial-part-2-building-a-simple-fraction-arithmetic-program-in-c-using-tdd/ would keep updating nairaland's topic. but for "better" reading experience visit the above links |
Re: Tutorial: Building A Simple Fraction Arithmetic Program In C# Using TDD by kapersky(m): 11:52pm On Aug 14, 2015 |
THERE IS A FOUNDATION IN EVERY THING WE DO IN LIFE,,,,,,, SO FOR YOU TO BE A GOOD PROGRAMMER YOU MUST BEGIN BUILDING THE FOUNDATION NOW..... I MEAN NOW FOR FREE....... Learn how to begin program using BASIC programming language for Beginners... WATCH, SHARE AND SUBSCRIBE BELOW For more information.. Drop your comments or visit www.thecomlovers..com for more info.. QBASIC Programming Tutorial – 3 – Running Your First Program https://www.youtube.com/watch?v=N82rznFP1pc?list=PLJNW2DKDGQplcLdvQ9kJMHBjMKNCx_BPQ QBASIC Programming Tutorial – 4 – Variables https://www.youtube.com/watch?v=P3cH7jCKYuE PLEASE I CANT UPLOAD ALL THE VIDEOS HERE BECAUSE OF ADMIN'S RULES VIOLATION WATCH THE COMPLETE VIDEO AND CHECK FOR MORE AT..... https://www.youtube.com/playlist?list=PLJNW2DKDGQplcLdvQ9kJMHBjMKNCx_BPQ OR VISIT www.thecomlovers..com or call 08145655380 for more info..... DON'T FORGET TO SUBSCRIBE......... SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE.........SUBSCRIBE......... |
Academind Course Collection By Maximilian Schwarzmuller / I Want To Learn From Scratch How Yo Build An App Like UBER / Video Game Developers Nigeria [artists/animators, Programmers, Sound People]
(Go Up)
Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health religion celebs tv-movies music-radio literature webmasters programming techmarket Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 69 |