farhanrahman/kyoto

Single Agent that always Cheats isn't sanctioned

Closed this issue · 3 comments

I've created a test that has a single agent who always reports its carbon output /2 (so, it always cheats) but it never gets sanctioned. I reduced the length of a year to 17 ticks for the purpose of speeding this up, and then ran the simulation for 1000 ticks. All of the code, as I've been testing it, is uploaded to the testing branch.

Possible issues include the monitor not taxing correctly, and the monitors cash reserve not persisting between years.

Cash does appear to be persisting between years. However I'm a bit confused about how abstract countries cheat - there are three functions within AbstractCountry that are to do with reporting carbon emissions: addToReports, reportCarbonEmission and reportCarbonOutput. Which is the correct one to override? Are any of these redundant?

It's sanctioned now that we fixed the null pointer. It takes the money. There was a fun bug where the first time a country was sanctioned for cheating, instead of taking any money from it, it just rounded its availableToSpend to the nearest dollar. I've fixed that though, so this all appears to be working.