[Outdated] Basic Util Files For GoDiffX
Review Request #11830 — Created Oct. 1, 2021 and updated
All of the basic files have now been created along with some tests. This includes errors,
sections, options, text, and unified diffs.I added the outdated tag because I started overwriting some of these basic things while
working on reader.go. It also does not make much sense to ship this on its own since
there aren't really any useful functions.
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github,
I setup the local test file to think it's getting its information from
github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I can
overwrite this whenever code gets published to make sure it still works properly, but that is likely
something that can come towards the end of the project.There is testing written for every file now and Go reports it having 98.1% coverage. The remaining 1.9%
is due to small redundancies in error handling where I don't expect a function to ever error at a certain
point, but I have code to handle it in case something odd happens.The only other piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon
and will update this description once that is finished. I don't expect any issues but this is my first time
creating go docs so we will see.
Summary | ID | Author |
---|---|---|
4552441df26f5bc1f71e0957b915eb5d294e2c88 | Jordan | |
53615b11759d77a06b2a0d6aa8f387beeb1eced7 | Jordan | |
ed55e923e78ead35565ee3f344a234516cfc3921 | Jordan | |
3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 | Jordan | |
398e1cd37ede5380265ee716bb93f7217bfa9996 | Jordan | |
37da0122f047f79a5cb92e0aeba4d0b5711196ec | Jordan | |
b9ade0ac8f01e150291ac24e2bebc38b01276cbc | Jordan | |
ddb24d486e20a4f3365cb1186c647575d2ff3458 | Jordan | |
87a9119601141817aa81cef3e8b163a7d20b4f7b | Jordan | |
0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a | Jordan | |
40257068d62ca72958a447221529a04876ca908a | Jordan | |
cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 | Jordan | |
6f73cf4159218d416aa97234e19481982e6c2c94 | Jordan | |
13bebc89fe5764f1da87e795230cab2eaddd1cb4 | Jordan | |
b5ef19b54466ccd7e3b3a961188974203b0c15f4 | Jordan | |
0951ce3c23a99b2d1b5e53128ebdd85feb28e413 | Jordan | |
5678c06d947b2c40ff5e73814a2ae1af36812da4 | Jordan | |
3225e18cd1e33cf1f473cedfff7eb37fdb9df982 | Jordan | |
1a455560529844e0eb504cb130b8136534fbf337 | Jordan | |
6e56198f6904b19e5d0de6b4bc1009313bc234bc | Jordan | |
705e1aef8ebc6cb0211aa9be22940aef383e5dc1 | Jordan | |
96622a38479aa2cf29a4823e54b2d4dca1ff81f4 | Jordan | |
184fc152fcd8cff3ac006902960d403363c2a01d | Jordan | |
27fdcf5139556f0750682ce728bf285f8b80c89a | Jordan | |
430153ba69177c03209a3bc7a382d3379e911e53 | Jordan |
- Description:
-
~ Following from the example PyDiffX, the following commits create the files
~ options.go
,sections.go
, anderrors.go
to be used in GoDiffX.~ Further updates from the previous week include work on
text.go
, the~ creation of testing files, and some small tweaks to bugs. - They are fairly straightforward files and do not do much on their own. - However, they are just a few of the stepping stones needed to get to work on - the main problem at hand. ~ options.go
is just a few enums that can be used to konw what formats or types~ are available in certain circumstances. While I am not 100% familiar with their ~ The 'bugs' in question refer to typos in error messages found while testing
~ and things like no Error()
method being used for the errors.- use in the code, creating them as enums using iota
seemed to be a simple- approach to make the options available. ~ sections.go
holds the section struct, a key piece of DiffX since it relies on~ these different sections. One small roadblock when comparing this to PyDiffX is ~ that there are no classes in Go. However, we are still able to use Structs and ~ can replicate the functionality of classes is most cases. Another issue that was ~ Progress has been made on
Text.go
, but this part of the code took me a while~ because it was a lot of learning and experimenting with bytes to better understand ~ how they are treated by different objects. I have a much better understanding of ~ the functionality now, but there are a couple more functions that need to be finished up. - encountered here is that go does not have access to sets. The workaround for - this was to instead create them as maps where the value for each key is just - true
.~ errors.go
is a bunch of different errors that our program may need to throw.~ Errors are handled differently in Go than in Python. Usually, if a function ~ All of the work from the previous week is still here (i.e. work done on
options.go
,~ sections.go
, anderrors.go
.- encounters an error, it will just pass the error up in the function and it is up - to the programmer to ensure the error is properly handled. For this reason, the - errors themselves will never kill a program. However, they should all still have - the same properties (such as line, column, and content) where appropriate. One - note about this part is that there were some parts in Python that used unicode - as a variable. I believe this is represented as a rune
in Go, but more- research has to be done. Because of this, the unicode parts are just strings for - now. In each of the files, the proper documentation was added via the inline
comments. These were also modelled closely after their respective python counterparts, but there are some small differences due to Go's documentation standards (i.e. requiring the comment to begin with the name of what it is talking about). - Testing Done:
-
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github, I setup the local test file to think it's getting its information from github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I canoverwrite this whenever code gets published to make sure it still works properly, but that is likely something that can come towards the end of the project. The testing file has been used to test out all of the code I have written. There is more detailed
information within each of the commits, but the main idea is that I would import the things I made and ensure they behave the way I expected them to. + I also have began to write unit testing for
errors.go
+ The only piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon and will update this description once that is finished. I don't expect any issues but this is my first time creating go docs so we will see. - Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan
Checks run (2 succeeded)
- Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan
Checks run (2 succeeded)
- Testing Done:
-
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github, I setup the local test file to think it's getting its information from github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I canoverwrite this whenever code gets published to make sure it still works properly, but that is likely something that can come towards the end of the project. The testing file has been used to test out all of the code I have written. There is more detailed
information within each of the commits, but the main idea is that I would import the things I made and ensure they behave the way I expected them to. ~ I also have began to write unit testing for
errors.go
~ I also have finished writing unit tests for
errors.go
The only piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon and will update this description once that is finished. I don't expect any issues but this is my first time creating go docs so we will see.
- Summary:
-
[WIP] Work on Text.go and Testing[WIP] Finish Tests for Available Functions
- Testing Done:
-
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github, I setup the local test file to think it's getting its information from github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I canoverwrite this whenever code gets published to make sure it still works properly, but that is likely something that can come towards the end of the project. The testing file has been used to test out all of the code I have written. There is more detailed
information within each of the commits, but the main idea is that I would import the things I made and ensure they behave the way I expected them to. ~ I also have finished writing unit tests for
errors.go
~ I also have finished writing unit tests for all available functions.
The only piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon and will update this description once that is finished. I don't expect any issues but this is my first time creating go docs so we will see. - Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan
Checks run (2 succeeded)
- Description:
-
~ Further updates from the previous week include work on
text.go
, the~ creation of testing files, and some small tweaks to bugs. ~ ~ Only new update is that there is now a test for every function. However,
~ Go believes we only have ~90% coverage with the tests so I am going to look ~ and ensure I cover every test case next. - The 'bugs' in question refer to typos in error messages found while testing
- and things like no Error()
method being used for the errors.- - Progress has been made on
Text.go
, but this part of the code took me a while- because it was a lot of learning and experimenting with bytes to better understand - how they are treated by different objects. I have a much better understanding of - the functionality now, but there are a couple more functions that need to be finished up. - - All of the work from the previous week is still here (i.e. work done on
options.go
,- sections.go
, anderrors.go
.- - In each of the files, the proper documentation was added via the inline
- comments. These were also modelled closely after their respective python - counterparts, but there are some small differences due to Go's documentation - standards (i.e. requiring the comment to begin with the name of what it is - talking about). - Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan
Checks run (2 succeeded)
- Summary:
-
[WIP] Finish Tests for Available Functions[WIP] Begin Work on unifiedDiffs.go
- Description:
-
~ Only new update is that there is now a test for every function. However,
~ Go believes we only have ~90% coverage with the tests so I am going to look ~ and ensure I cover every test case next. ~ Started work on unifiedDiffs.go and now have the functionality to just identify the header along with the regex. Most of the week
~ was spent trying to learn regex and understand how the python implementation works. There was also the piece of figuring out how to ~ change the pythonic code into something that works with golang (because of dictionaries and loosely typed variables). - Testing Done:
-
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github, I setup the local test file to think it's getting its information from github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I canoverwrite this whenever code gets published to make sure it still works properly, but that is likely something that can come towards the end of the project. ~ The testing file has been used to test out all of the code I have written. There is more detailed
~ I have testing done for every file except this new one.
- information within each of the commits, but the main idea is that I would import the things I made - and ensure they behave the way I expected them to. ~ I also have finished writing unit tests for all available functions.
~ The only other piece that still needs to be tested is the Go docs themselves. I have not had enough time
- - The only piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon and will update this description once that is finished. I don't expect any issues but this is my first time creating go docs so we will see. - Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan 6e56198f6904b19e5d0de6b4bc1009313bc234bc Jordan 705e1aef8ebc6cb0211aa9be22940aef383e5dc1 Jordan 96622a38479aa2cf29a4823e54b2d4dca1ff81f4 Jordan
Checks run (2 succeeded)
- Summary:
-
[WIP] Begin Work on unifiedDiffs.go[WIP] Finish unifiedDiffs.go and Implement Basic Testing.
- Description:
-
~ Started work on unifiedDiffs.go and now have the functionality to just identify the header along with the regex. Most of the week
~ was spent trying to learn regex and understand how the python implementation works. There was also the piece of figuring out how to ~ change the pythonic code into something that works with golang (because of dictionaries and loosely typed variables). ~ Wrote all of the code for unifiedDiffs.go and manually tested a few cases. Also wrote basic tests
~ based on the python version. There is now a test for each case in the python version that does a very ~ trivial check to ensure the proper number of hunks are returned or that the error is correct. It seems + like it may be challenging to quickly compare the custom struct I return so I will be working on finishing + that next. - Testing Done:
-
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github, I setup the local test file to think it's getting its information from github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I canoverwrite this whenever code gets published to make sure it still works properly, but that is likely something that can come towards the end of the project. ~ I have testing done for every file except this new one.
~ There is testing written for every file now. There is a small caveat that the testing for unifiedDiffs.go
+ is still lacking in robustness, but I wanted to just ensure things seemed to be working properly before the + WIP update I posted today. The only other piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon and will update this description once that is finished. I don't expect any issues but this is my first time creating go docs so we will see. - Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan 6e56198f6904b19e5d0de6b4bc1009313bc234bc Jordan 705e1aef8ebc6cb0211aa9be22940aef383e5dc1 Jordan 96622a38479aa2cf29a4823e54b2d4dca1ff81f4 Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan 6e56198f6904b19e5d0de6b4bc1009313bc234bc Jordan 705e1aef8ebc6cb0211aa9be22940aef383e5dc1 Jordan 96622a38479aa2cf29a4823e54b2d4dca1ff81f4 Jordan 184fc152fcd8cff3ac006902960d403363c2a01d Jordan 27fdcf5139556f0750682ce728bf285f8b80c89a Jordan
Checks run (2 succeeded)
- Summary:
-
[WIP] Finish unifiedDiffs.go and Implement Basic Testing.Basic Util Files For GoDiffX
- Description:
-
~ Wrote all of the code for unifiedDiffs.go and manually tested a few cases. Also wrote basic tests
~ based on the python version. There is now a test for each case in the python version that does a very ~ All of the basic files have now been created along with some tests. This includes errors,
~ sections, options, text, and unified diffs. - trivial check to ensure the proper number of hunks are returned or that the error is correct. It seems - like it may be challenging to quickly compare the custom struct I return so I will be working on finishing - that next. - Testing Done:
-
A test file was created on my machine in another directiory (~/Desktop/GoTest) and the module
was imported there. Since it does not make sense for semi-functional code to be pushed to Github, I setup the local test file to think it's getting its information from github.com/beanbaginc/diffx/go/godiffx
when in reality, it is just checking my local copy. I canoverwrite this whenever code gets published to make sure it still works properly, but that is likely something that can come towards the end of the project. ~ There is testing written for every file now. There is a small caveat that the testing for unifiedDiffs.go
~ is still lacking in robustness, but I wanted to just ensure things seemed to be working properly before the ~ WIP update I posted today. ~ There is testing written for every file now and Go reports it having 98.1% coverage. The remaining 1.9%
~ is due to small redundancies in error handling where I don't expect a function to ever error at a certain ~ point, but I have code to handle it in case something odd happens. The only other piece that still needs to be tested is the Go docs themselves. I have not had enough time
to spin up a local server where I can see what the documentation looks like, but I plan to do that soon and will update this description once that is finished. I don't expect any issues but this is my first time creating go docs so we will see. - Commits:
-
Summary ID Author 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan 6e56198f6904b19e5d0de6b4bc1009313bc234bc Jordan 705e1aef8ebc6cb0211aa9be22940aef383e5dc1 Jordan 96622a38479aa2cf29a4823e54b2d4dca1ff81f4 Jordan 184fc152fcd8cff3ac006902960d403363c2a01d Jordan 27fdcf5139556f0750682ce728bf285f8b80c89a Jordan 4552441df26f5bc1f71e0957b915eb5d294e2c88 Jordan 53615b11759d77a06b2a0d6aa8f387beeb1eced7 Jordan ed55e923e78ead35565ee3f344a234516cfc3921 Jordan 3659b78ffe8b8cc27d23a5d1f497f2bb0ab00a21 Jordan 398e1cd37ede5380265ee716bb93f7217bfa9996 Jordan 37da0122f047f79a5cb92e0aeba4d0b5711196ec Jordan b9ade0ac8f01e150291ac24e2bebc38b01276cbc Jordan ddb24d486e20a4f3365cb1186c647575d2ff3458 Jordan 87a9119601141817aa81cef3e8b163a7d20b4f7b Jordan 0576404dacb4b9f6ac9f5eceb9c29ee97c022b2a Jordan 40257068d62ca72958a447221529a04876ca908a Jordan cb86e91b7b51ac9be3ed52c35fd9aab20baefa90 Jordan 6f73cf4159218d416aa97234e19481982e6c2c94 Jordan 13bebc89fe5764f1da87e795230cab2eaddd1cb4 Jordan b5ef19b54466ccd7e3b3a961188974203b0c15f4 Jordan 0951ce3c23a99b2d1b5e53128ebdd85feb28e413 Jordan 5678c06d947b2c40ff5e73814a2ae1af36812da4 Jordan 3225e18cd1e33cf1f473cedfff7eb37fdb9df982 Jordan 1a455560529844e0eb504cb130b8136534fbf337 Jordan 6e56198f6904b19e5d0de6b4bc1009313bc234bc Jordan 705e1aef8ebc6cb0211aa9be22940aef383e5dc1 Jordan 96622a38479aa2cf29a4823e54b2d4dca1ff81f4 Jordan 184fc152fcd8cff3ac006902960d403363c2a01d Jordan 27fdcf5139556f0750682ce728bf285f8b80c89a Jordan 430153ba69177c03209a3bc7a382d3379e911e53 Jordan
Checks run (2 succeeded)
- Summary:
-
Basic Util Files For GoDiffX[Outdated] Basic Util Files For GoDiffX
- Description:
-
All of the basic files have now been created along with some tests. This includes errors,
sections, options, text, and unified diffs. + + I added the outdated tag because I started overwriting some of these basic things while
+ working on reader.go. It also does not make much sense to ship this on its own since + there aren't really any useful functions.