public void Test_EconomyOutput_ReportChaoting() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); var report = Economy.inst.outputs.Single(x => x.name == "STATIC_REPORT_CHAOTING_TAX"); Assert.AreEqual(Root.def.economy.report_chaoting_percent, report.percent.Value); Assert.AreEqual(Chaoting.inst.expectMonthTaxValue.Value, report.maxValue.Value); Assert.AreEqual(report.maxValue.Value * report.percent.Value / 100, report.currValue.Value); report.percent.Value = 12.3; var json = JsonConvert.SerializeObject(Economy.inst, Formatting.Indented); Root.inst.economy = JsonConvert.DeserializeObject <Economy>(json); Assert.AreEqual(12.3, report.percent.Value); Assert.AreEqual(Chaoting.inst.expectMonthTaxValue.Value, report.maxValue.Value); Assert.AreEqual(report.maxValue.Value * report.percent.Value / 100, report.currValue.Value); Date.inst.day.Value = 30; Economy.DaysInc(); Assert.AreEqual(Chaoting.inst.expectMonthTaxValue.Value - report.currValue.Value, Chaoting.inst.oweTax); }
public void TestSetGetEconomyData() { Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Visitor.InitVisitMap(typeof(Root)); Visitor.SetVisitData(Root.inst); Visitor.Set("economy.value", 123.0); Assert.AreEqual(123, Visitor.Get("economy.value")); var reportTaxPercent = 50.0; //Visitor.Set("economy.report_chaoting_tax_percent", reportTaxPercent); //Assert.AreEqual(reportTaxPercent, Visitor.Get("economy.report_chaoting_tax_percent")); //var reportChaotingTax = Root.inst.economy.EnumerateOutput().Single(x => x.name == "STATIC_REPORT_CHAOTING_TAX"); //Assert.AreEqual(reportChaotingTax.maxValue.Value * reportTaxPercent / 100, reportChaotingTax.currValue.Value); //var incomes = Root.inst.economy.EnumerateInCome(); //var popTax = incomes.Single(x => x.name == "STATIC_POP_TAX"); //Assert.AreEqual(Pop.all.Sum(x => x.expectTax.Value), popTax.maxValue.Value); //Assert.AreEqual(popTax.maxValue.Value * 50 / 100, popTax.currValue.Value); }
private void _on_LoadSaveFile_Signed(string fileName) { var content = System.IO.File.ReadAllText(GlobalPath.save + fileName + ".save"); Root.Deserialize(content); ModDataVisit.InitVisitData(Root.inst); GetTree().ChangeScene("res://Scenes/Main/MainScene.tscn"); }
public void Test_ChaotingPowerParty() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Assert.AreEqual(Root.def.chaoting.powerParty, Visitor.Get("chaoting.power_party.type")); }
public void Test_Init() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Assert.AreEqual(init.common.name, Visitor.Get("taishou.name")); Assert.AreEqual(init.common.age, Visitor.Get("taishou.age")); Assert.AreEqual(init.common.party, Visitor.Get("taishou.party.type")); }
public void Test_EconomyMonthSurplus() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Assert.AreEqual(Economy.inst.incomes.Sum(x => x.currValue.Value), Economy.inst.incomes.total.Value); Assert.AreEqual(Economy.inst.outputs.Sum(x => x.currValue.Value), Economy.inst.outputs.total.Value); Assert.AreEqual(Economy.inst.incomes.total.Value - Economy.inst.outputs.total.Value, Economy.inst.monthSurplus.Value); }
public TestEventDepart() { ModDataVisit.InitVisitMap(typeof(Demon)); ModFileSystem.Clear(); var modFileSystem = ModFileSystem.Generate(nameof(TestEventDepart)); modFileSystem.AddDepartEvent("EVENT_TEST.txt", @"title = EVENT_DIFF_TITLE desc = EVENT_DIFF_DESC trigger = { equal = {depart.data1, 11} } date = every_day occur = 1 option = { desc = EVENT_TEST_OPTION_1_DESC select = { assign = {depart.data2, 101} } } option = { desc = EVENT_TEST_OPTION_2_DESC select = { assign = {depart.data2, 102} } } option = { desc = EVENT_TEST_OPTION_3_DESC select = { assign = {depart.data2, 103} } }"); Mod.Load(ModFileSystem.path); }
public void TestTaishou() { Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Visitor.InitVisitMap(typeof(Root)); Visitor.SetVisitData(Root.inst); Assert.AreEqual(false, Visitor.Get("taishou.is_revoke")); Assert.AreEqual(false, Root.inst.isEnd); Visitor.Set("taishou.is_revoke", true); Assert.AreEqual(true, Visitor.Get("taishou.is_revoke")); Assert.AreEqual(true, Root.inst.isEnd); }
public void Test_ChaotingOweTax() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Assert.AreEqual(0, Visitor.Get("chaoting.extra_tax")); Assert.AreEqual(0, Visitor.Get("chaoting.owe_tax")); var oweTax = 100.0; Chaoting.inst.ReportMonthTax(Chaoting.inst.expectMonthTaxValue.Value - oweTax); Assert.AreEqual(0, Visitor.Get("chaoting.extra_tax")); Assert.AreEqual(oweTax, Visitor.Get("chaoting.owe_tax")); }
public void Test_EconomyCurrValue() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Assert.AreEqual(Root.def.economy.curr, Visitor.Get("economy.value")); Economy.inst.curr.Value = 100; var json = JsonConvert.SerializeObject(Economy.inst, Formatting.Indented); Root.inst.economy = JsonConvert.DeserializeObject <Economy>(json); Assert.AreEqual(100, Visitor.Get("economy.value")); }
public void Test_EconomyDayInc() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Date.inst.day.Value = 29; Economy.DaysInc(); Assert.AreEqual(Root.def.economy.curr, Visitor.Get("economy.value")); Date.inst.day.Value = 30; Economy.DaysInc(); Assert.AreEqual(Root.def.economy.curr + Economy.inst.monthSurplus.Value, Visitor.Get("economy.value")); }
private void _on_Button_Start_button_up() { var initData = new InitData() { common = new InitData.Common() { name = "TEST1", age = 34, party = "shizu" } }; Root.Init(initData); ModDataVisit.InitVisitData(Root.inst); GetTree().ChangeScene("res://Scenes/Main/MainScene.tscn"); }
// Declare member variables here. Examples: // private int a = 2; // private string b = "text"; static StartScene() { System.IO.Directory.CreateDirectory(GlobalPath.save); Root.logger = (value) => GD.Print(value); Mod.logger = (value) => GD.Print(value); ModDataVisit.InitVisitMap(typeof(Root)); Mod.Load(GlobalPath.mod); Root.def = Mod.def; foreach (var mod in Mod.Enumerate()) { TranslateServerEx.AddTranslate(mod.languages); } }
public void TestDepartDaysInc() { Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Visitor.InitVisitMap(typeof(Root)); Visitor.SetVisitData(Root.inst); double cropGrown = 0; for (int y = 1; y <= 10; y++) { for (int m = 1; m <= 12; m++) { for (int d = 1; d <= 30; d++) { if (Date.inst >= Root.def.crop.growStartDay && Date.inst <= Root.def.crop.harvestDay) { cropGrown += Root.def.crop.growSpeed; } else { cropGrown = 0; } Depart.DaysInc(); foreach (var depart in Depart.all) { Assert.AreEqual(cropGrown, depart.cropGrown.Value); } Visitor.Pos pos = null; while (Visitor.EnumerateVisit("pop", ref pos)) { Assert.AreEqual(cropGrown, Visitor.Get("pop.depart.crop_grown")); } Date.Inc(); } } } }
public void TestDateInc() { Root.Init(init); ModDataVisit.InitVisitData(Root.inst); Visitor.InitVisitMap(typeof(Root)); Visitor.SetVisitData(Root.inst); for (int y = 1; y <= 10; y++) { for (int m = 1; m <= 12; m++) { for (int d = 1; d <= 30; d++) { Assert.AreEqual(d, Visitor.Get("date.day")); Assert.AreEqual(m, Visitor.Get("date.month")); Assert.AreEqual(y, Visitor.Get("date.year")); Date.Inc(); } } } Assert.True(Date.inst == (11, null, null)); Assert.True(Date.inst == (11, null, 1)); Assert.True(Date.inst == (11, 1, 1)); Assert.True(Date.inst == (null, 1, 1)); Assert.True(Date.inst < (12, null, null)); Assert.True(Date.inst < (12, null, 1)); Assert.True(Date.inst < (12, 1, 1)); Assert.True(Date.inst < (null, 12, 30)); Assert.True(Date.inst < (null, 1, 30)); Assert.True(Date.inst > (10, null, null)); Assert.True(Date.inst > (10, 12, null)); Assert.True(Date.inst > (10, 12, 30)); }
public void Test_EconomyInCome_PopTax() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); var popTax = Economy.inst.incomes.Single(x => x.name == "STATIC_POP_TAX"); Assert.AreEqual(Root.def.economy.pop_tax_percent, popTax.percent.Value); Assert.AreEqual(Depart.all.Sum(x => x.tax.Value), popTax.maxValue.Value); Assert.AreEqual(popTax.maxValue.Value * popTax.percent.Value / 100, popTax.currValue.Value); popTax.percent.Value = 12.3; var json = JsonConvert.SerializeObject(Economy.inst, Formatting.Indented); Root.inst.economy = JsonConvert.DeserializeObject <Economy>(json); Assert.AreEqual(12.3, popTax.percent.Value); Assert.AreEqual(Depart.all.Sum(x => x.tax.Value), popTax.maxValue.Value); Assert.AreEqual(popTax.maxValue.Value * popTax.percent.Value / 100, popTax.currValue.Value); }
public void Test_EconomyOutput_AdminExpend() { ModDataVisit.InitVisitMap(typeof(Root)); Root.Init(init); ModDataVisit.InitVisitData(Root.inst); var adminExpend = Economy.inst.outputs.Single(x => x.name == "STATIC_ADMIN_EXPEND"); Assert.AreEqual(Root.def.economy.expend_depart_admin, adminExpend.percent.Value); Assert.AreEqual(Depart.all.Sum(x => x.adminExpendBase.Value), adminExpend.maxValue.Value); Assert.AreEqual(adminExpend.maxValue.Value * adminExpend.percent.Value / 100, adminExpend.currValue.Value); adminExpend.percent.Value = 12.3; var json = JsonConvert.SerializeObject(Economy.inst, Formatting.Indented); Root.inst.economy = JsonConvert.DeserializeObject <Economy>(json); Assert.AreEqual(12.3, adminExpend.percent.Value); Assert.AreEqual(Depart.all.Sum(x => x.adminExpendBase.Value), adminExpend.maxValue.Value); Assert.AreEqual(adminExpend.maxValue.Value * adminExpend.percent.Value / 100, adminExpend.currValue.Value); }
public void TestSerialize() { Root.Init(init); ModDataVisit.InitVisitData(Root.inst); //COLLECT_POP_TAX.Start(); var json = Root.Serialize(); Root.Deserialize(json); Visitor.InitVisitMap(typeof(Root)); Visitor.SetVisitData(Root.inst); Assert.AreEqual(1, Visitor.Get("date.day")); Assert.AreEqual(1, Visitor.Get("date.month")); Assert.AreEqual(1, Visitor.Get("date.year")); Assert.AreEqual(456, Visitor.Get("economy.value")); //foreach (var income in Root.inst.economy.EnumerateInCome()) //{ // switch (income.name) // { // case "STATIC_POP_TAX": // Assert.AreEqual(Root.def.economy.pop_tax_percent, income.percent.Value); // Assert.AreEqual(Pop.all.Sum(x => x.expectTax.Value), income.maxValue.Value); // Assert.AreEqual(income.maxValue.Value * income.percent.Value / 100, income.currValue.Value); // break; // default: // Assert.Fail(); // break; // } //} //foreach (var output in Root.inst.economy.EnumerateOutput()) //{ // switch (output.name) // { // case "STATIC_REPORT_CHAOTING_TAX": // Assert.AreEqual(Root.def.economy.report_tax_percent, output.percent.Value); // Assert.AreEqual(Chaoting.inst.currMonthTax.Value * output.percent.Value / 100, output.currValue.Value); // break; // default: // Assert.Fail(); // break; // } //} foreach (var departName in Root.def.departs.Keys) { var departDef = Root.def.departs[departName]; var depart = Depart.GetByColor(departDef.color.r, departDef.color.g, departDef.color.b); Assert.AreEqual(departName, depart.name); Assert.AreEqual(departDef.pop_init.Where(x => Root.def.pops[x.name].is_collect_tax).Sum(x => x.num), depart.popNum.Value); foreach (var init in departDef.pop_init) { var pop = depart.pops.Single(x => x.name == init.name); Assert.AreEqual(init.num, pop.num.Value); } } Assert.AreEqual((int)(Depart.all.Sum(x => x.popNum.Value) * Root.def.chaoting.reportPopPercent / 100), Chaoting.inst.reportPopNum.Value); //Assert.AreEqual(Root.def.chaoting.taxPercent, Chaoting.inst.taxPercent.Value); //Assert.AreEqual(Chaoting.inst.reportPopNum.Value * 0.01 * Root.def.chaoting.taxPercent / 100, Chaoting.inst.currMonthTax.Value); }
public void Setup() { ModDataVisit.InitVisitData(Demon.Init()); }