Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In this pull request I have included three new files; one named venue.go, one named entertainer.go and another named venue_test.go. Based on the assignment I split up the tasks accordingly to the items being asked to write. First I created the venue.go file that includes imports of "fmt" and "io". I then needed to create a venue type struct according to the directions and it needed to take an audience by the type int which is defined within the venue struct. Within the venue I also created a function with a pointer, *Venue that takes an entertain method and will take the number, int of audience members. This returns the amount of entertainers that will be performing and if no entertainers are performing it will return exactly no entertainer will be performing.
I then implemented a check to see if each entertainer implements the Setuper interface which was outlined in the description of the assignment to be included. If the test passes then there will be a statement that reads the entertainer has completed their setup. In addition to this I needed to implement the amount of people the entertainer performed for. In order to do this I wrote a script to capture the entertainer and how many people they performed for. After setting all of that up I went further to check if each entertainer had a tear down of their material and equipment. This will return the entertainer and notify me that the entertainer has indeed tore down their equipment for the next entertainer to go on.
Inside the Entertainer.go file is where I captured the name of the entertainer, their performance based on the amount of audience members that showed up to watch them, if their material and equipment has already been set up or if they need it set up and also if they completed the tear down of their equipment as well.
Lastly, the testing for the entire setup, teardown, entertainer list and audience members was tested using the venue_test.go file. Here I defined the audience in int, the name of the entertainer in a string, if they tore down their equipment and if they set up their equipment. These tests determined if the equipment was already set up or needed to still be set up, if they needed to tear down their equipment or if it was already torn down and if the entertainer was playing for a decent audience or just a few people.
I ran into a lot of difficulties especially trying to decipher the written code verses the tests being made. I also had difficulties handling all of the information needed and the variables that I needed to define. It was also a little difficult for me to get started given the code that was already written for us to be able to use. It took awhile for me to set up all the steps and make sure it aligned well with what was expected from the assignment layout. In order to combat these problems I was facing I made three separate files that I could lay out side by side to make sure I not only was able to organize all of the variables, logic and necessities together but, to also to make sure everything in the assignment description was captured within all of the files I made. It was a little deceiving reading the assignment and all the items needed from that verses the written code that was given to us.
I had a pretty difficult time understanding interfaces since I had never experienced interfaces before from my coding experience in python. I had to spend a lot more time reading up on, watching videos and trying to understand exactly what an interface is, how to use it correctly and also how to make it work according to this assignment. I know that I need to spend more time getting familiar with interfaces and wrap my head around the concept as a whole. Overall I had the most difficultly with this concept then any other topic we discussed in the class so far.