 There was a code on Julia and we even had a talk on how to connect Julia, how to connect with Julia, hook up with your database and even our optimization we had a talk on optimization too. So now we will focus on testing. So now we will focus on how to make your code available. So Julia gives you a lot of packages for testing. We will discuss these packages today. First one is code coverage. Julia has built-in support for code coverage. So in order to use the code coverage all, let me tell you what the code coverage actually is. So let's say you have a test file and you don't know how much of your code is actually being covered by your test code. How much of code is actually being covered by your test code? So this is where the code coverage can actually come from. So in order to use the code coverage, all you have to do is start Julia in the code coverage mode and this is how this is the command to start Julia in the code coverage mode. And once you start it, once you're inside the Julia app, you just run your test on your project. And that's it. And now exit on Julia. Now log into Julia with the regular mode. Now that you're in Julia with the regular mode, you can use a package called coverage. So the first thing is you have to actually change your directory to the directory where your project is located. Once you're in the directory, you can call in the function called process folder. What this function does is once you run your test program in the coverage mode, Julia actually creates .cov files for every .jl file that actually ran in your test file. So this process folder will access these .cov files and it will actually store the entire summary inside the variable. So we have just named the variable as coverage in this case. So we are actually extracting just two variables for the summary. We are extracting the number of lines covered and the total number of lines. So now we have the number of lines covered by the test space and the number of lines in your program. So it's just a matter of you just need to take a percentage of it to check the coverage of your project. So next, they may have a situation where you want to check the memory allocation of your program. So this is how we do it. I mean once again Julia gives you a very good support for this. You should start Julia in the memory allocation mode. This is how we do it. Julia, the top line. So that's how we start it off. And the next step for what you should do is you should run your program twice. I mean not just once, you should run your test scripts or run your program twice. Once you're done with it, you have to exit the memory allocation mode and you have to enter back into Julia in the regular mode. So in both of your proposals, you just have to enter your project folder and call either one of these functions depending on your Julia version. If it's point three, you have to call the clear middle. And if it's point four, you have to do profile. So what this does is, I mean once you run your program in the memory allocation mode, Julia will do a similar process. It will do a similar process. It creates .men files for every program, every .gen file that you have in your project. And this function actually analyzes the .men file and it gives you the output of where exactly the memory has been allocated. And if there are any generic views, you can actually optimize your code using this. So these are the next steps. So apart from these, Julia even provides you with a lot of examples of which you can actually measure the performance. The first is from Nishant discussed at time. So I did not really confirm that once again. There's one more function called at time. So there's a difference between time and at time. Time actually returns more, I mean it returns a different set of parameters. It returns the value of the expression, the value of the function that you have actually called again. And that's the time. I mean whatever the time it does. But total and even the garbage collection time is the extra thing, extra parameter that returns which at time doesn't do. So after allocated, it does the same. I mean after allocated, it gives you the memory allocation that your program is actually taking. So you can use after allocated to check whether how much memory has been allocated for your program. So next is Vint. My friend particularly covered Vint. So I will not go through it once again. That should be over. Oh sorry. It was based on Vint. Yeah. How about Vint? Okay. This is the Vint. I mean this is the Vint. I think that is for based off test. Based off test actually, what it does, it makes your test cases readable. So this is a simple thing. At test one is good one. I mean let's just say you have prepared your test cases for your test to your project. And you want these test cases to be displayed in a very real format. This is where based off test comes in. You can just compare your test cases against the predicted values. And you can even throw in the custom error messages in these test cases. I mean if the predicted output is not equal to whatever you expect. So based off test gives a very nice approximation. I mean there are two functions related to this. And both are related to 14 point numbers. So what this does is, this just approximated, I mean this just approximated compares the number with the... One answer. One answer. Just approximated compares the value, compares the integer value with the 14 point number. So fact check. Fact check is actually recommended over based off test. This gives a lot more flexibility for you over based off test. It's even much simpler to use. What improvements it gives over based off test is, you actually have a lot of functions in here. Like you can compare the exact value of it. And you can compare the rough, I mean roughly whatever possible you saw over there. It's even present in here. And apart from this there are many other functions there. These kind of functions are not present in based off test. That's right. Okay, that should go. We will see a lot more of the test frameworks and stuff tomorrow in the workshop. But we will now switch over here.