public TingRunner(RelayTwo pRelay, RoomRunner pRoomRunner) { D.isNull(pRelay); D.isNull(pRoomRunner); _roomRunner = pRoomRunner; _relay = pRelay; Type[] classes = InstantiatorTwo.GetSubclasses(typeof(Ting)); List <Ting> tingsToAdd = new List <Ting>(); foreach (Type t in classes) { TableTwo table = AssertTable(t, pRelay); if (!_loadedTingTables.ContainsKey(table.name)) { //Console.WriteLine("Adding table " + table.name + " for type " + t.Name); tingsToAdd.AddRange(InstantiatorTwo.Process <Ting>(table)); _loadedTingTables.Add(table.name, table); } } foreach (Ting t in tingsToAdd) { AddTing(t); t.SetupBaseRunners(this, _roomRunner); } actionTime = 0; }
public void InstantiateFromDatabase() { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable(Ting.TABLE_NAME); relay.CreateTable(Room.TABLE_NAME); table.AddField <string>(RelayObjectTwo.CSHARP_CLASS_FIELD_NAME); table.AddField <string>("species"); table.AddField <string>("name"); table.AddField <int>("age"); int row0 = table.CreateRow().row; int row1 = table.CreateRow().row; table.SetValue(row0, RelayObjectTwo.CSHARP_CLASS_FIELD_NAME, "Animal"); table.SetValue(row0, "species", "Monkey"); table.SetValue(row0, "name", "Herr Nilsson"); table.SetValue(row0, "age", 78); table.SetValue(row1, RelayObjectTwo.CSHARP_CLASS_FIELD_NAME, "Animal"); table.SetValue(row1, "species", "Horse"); table.SetValue(row1, "name", "Lilla Gubben"); table.SetValue(row1, "age", 50); TingRunner tingRunner = new TingRunner(relay, new RoomRunner(relay)); Animal herrNilsson = tingRunner.GetTing("Herr Nilsson") as Animal; Animal lillaGubben = tingRunner.GetTing("Lilla Gubben") as Animal; Assert.IsNotNull(herrNilsson); Assert.IsNotNull(lillaGubben); Assert.AreEqual(78, herrNilsson.age); Assert.AreEqual(50, lillaGubben.age); }
public void CompileAndRun() { GameTypes.D.onDLog += Console.WriteLine; output = new List <string>(); RelayTwo relay = new RelayTwo(); TableTwo programsTable = relay.CreateTable(Program.TABLE_NAME); FunctionDefinition print = new FunctionDefinition("void", "print", new string[] { "string" }, new string[] { "s" }, API_print, FunctionDocumentation.Default()); Program p1 = new Program(); p1.CreateNewRelayEntry(programsTable, "Program"); p1.Init(new ProgramRunner(relay)); p1.sourceCodeContent = "print(42)"; p1.FunctionDefinitions.Add(print); p1.Compile(); Assert.AreEqual(0, p1.GetErrors().Length); for (int i = 0; i < 100; i++) { if (p1.sprakRunner.interpreter != null) { p1.Update(0.1f); } } Assert.AreEqual(1, output.Count); Assert.AreEqual("42", output[0]); }
public void MergeTwoSubsets() { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable("Table1"); table.AddField <string>("name"); table.AddField <bool>("1337"); TableRow row1 = table.CreateRow(); TableRow row2 = table.CreateRow(); TableRow row3 = table.CreateRow(); row1.Set("name", "Arne"); row1.Set("1337", false); row2.Set("name", "Björn"); row2.Set("1337", true); row3.Set("name", "Charlie"); row3.Set("1337", false); Assert.AreEqual(3, table.GetRows().Length); RelayTwo subsetA = relay.Subset("Table1", (o => o.Get <bool>("1337") == true)); RelayTwo subsetB = relay.Subset("Table1", (o => o.Get <bool>("1337") == false)); subsetA.MergeWith(subsetB); Assert.Throws <RelayTwo.RelayMergeException>(() => subsetB.MergeWith(relay)); Assert.AreEqual(true, subsetA.Equals(relay)); Assert.AreEqual(false, subsetB.Equals(relay)); }
void DumpTable(TableTwo t) { Console.WriteLine("TABLE - " + t.name); foreach (var i in t) { Console.WriteLine(i.row.ToString() + " " + String.Join(" : ", i.valuesAsStrings)); } }
//, TingRunner pTingRunner) public TimetableRunner(RelayTwo pRelay) { _timetableTable = pRelay.GetTable(Timetable.TABLE_NAME); foreach(var timetable in InstantiatorTwo.Process<Timetable>(_timetableTable)) { _timetables[timetable.name] = timetable; } }
public ActionResult DeleteConfirmed(int id) { TableTwo tableTwo = db.TableTwoes.Find(id); db.TableTwoes.Remove(tableTwo); db.SaveChanges(); return(RedirectToAction("Index")); }
public void BasicUsage() { TableTwo table1 = _relay.GetTable("Table1"); Assert.AreEqual(3.5f, table1[_rowIndex0].Get <float>("a")); Assert.AreEqual(7.0f, table1[_rowIndex0].Get <float>("b")); Assert.AreEqual(5.0f, table1[_rowIndex1].Get <float>("a")); }
public void GettingValueEntryReference() { TableTwo table1 = _relay.GetTable("Table1"); Log("Row index: " + _rowIndex0); ValueEntry <float> value_a = table1.GetValueEntryEnsureDefault <float>(_rowIndex0, "a", 0.0f); Assert.AreEqual(3.5f, value_a.data); }
public TimetableRunner(RelayTwo pRelay) //, TingRunner pTingRunner) { _timetableTable = pRelay.GetTable(Timetable.TABLE_NAME); foreach (var timetable in InstantiatorTwo.Process <Timetable>(_timetableTable)) { _timetables[timetable.name] = timetable; } }
public void AccessingObjectThatDoesNotExist() { int wrongId = 150; TableTwo table1 = _relay.GetTable("Table1"); Assert.Throws <RelayException>(() => { Console.WriteLine(table1[wrongId].row); }); }
public void AccessingAttributeThatDoesNotExist() { TableTwo table1 = _relay.GetTable("Table1"); TableRow row0 = table1[_rowIndex0]; Assert.Throws <RelayException>(() => { row0.Get <float>("nonexisting_attribute_name"); }); }
public void RemovingRowThatDoesNotExist() { int wrongId = 150; TableTwo table1 = _relay.GetTable("Table1"); Assert.Throws <RelayException>(() => { table1.RemoveRowAt(wrongId); }); }
public void AccessingAttributeWithRightNameButWrongType() { TableTwo table1 = _relay.GetTable("Table1"); TableRow row0 = table1[_rowIndex0]; Assert.Throws <RelayException>(() => { row0.Get <bool>("a"); // the "a" attribute is saved as a 'float', not a 'bool' }); }
public ProgramRunner(RelayTwo pRelay) { D.isNull(pRelay); _programTable = pRelay.GetTable(Program.TABLE_NAME); _programsList = InstantiatorTwo.Process<Program>(_programTable); foreach (var program in _programsList) { program.Init(this); _programsDictionary.Add(program.objectId, program); } }
public SourceCodeDispenser(RelayTwo pRelay) { _sourceCodeTable = pRelay.GetTable(SourceCode.TABLE_NAME); //Console.WriteLine("Getting source code from " + _sourceCodeTable.name); _sourceCodes = InstantiatorTwo.Process <SourceCode>(_sourceCodeTable); foreach (SourceCode sc in _sourceCodes) { //Console.WriteLine("found source code " + sc.name); } }
public SourceCodeDispenser(RelayTwo pRelay) { _sourceCodeTable = pRelay.GetTable(SourceCode.TABLE_NAME); //Console.WriteLine("Getting source code from " + _sourceCodeTable.name); _sourceCodes = InstantiatorTwo.Process<SourceCode>(_sourceCodeTable); foreach (SourceCode sc in _sourceCodes) { //Console.WriteLine("found source code " + sc.name); } }
public ActionResult Edit([Bind(Include = "UserID,StaticEmotions,Track,Artist,Username")] TableTwo tableTwo) { if (ModelState.IsValid) { db.Entry(tableTwo).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tableTwo)); }
public void GettingValueEntryForObjectThatDoesNotExist() { int wrongId = 150; TableTwo table1 = _relay.GetTable("Table1"); Assert.Throws <RelayException>(() => { table1.GetValueEntryEnsureDefault <float>(wrongId, "a", 0.0f); }); }
public ActionResult Create([Bind(Include = "UserID,StaticEmotions,Track,Artist,Username")] TableTwo tableTwo) { if (ModelState.IsValid) { db.TableTwoes.Add(tableTwo); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tableTwo)); }
public ProgramRunner(RelayTwo pRelay) { D.isNull(pRelay); _programTable = pRelay.GetTable(Program.TABLE_NAME); _programsList = InstantiatorTwo.Process <Program>(_programTable); foreach (var program in _programsList) { program.Init(this); _programsDictionary.Add(program.objectId, program); } }
public void CompileWithError() { RelayTwo relay = new RelayTwo(); TableTwo programsTable = relay.CreateTable(Program.TABLE_NAME); Program p1 = new Program(); p1.CreateNewRelayEntry(programsTable, "Program"); p1.sourceCodeContent = "var x = "; p1.Compile(); Assert.AreEqual(1, p1.GetErrors().Length); }
public void MergeSavesWithDifferentFields() { { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable("Table"); table.AddField <string>("oldField"); TableRow row1 = table.CreateRow(); TableRow row2 = table.CreateRow(); TableRow row3 = table.CreateRow(); row1.Set("oldField", "kottar"); row2.Set("oldField", "stenar"); row3.Set("oldField", "gräs"); relay.Subset("Table", (o => o.row == 0)).SaveAll("s0.json"); relay.Subset("Table", (o => o.row == 1)).SaveAll("s1.json"); relay.Subset("Table", (o => o.row == 2)).SaveAll("s2.json"); table.AddField <int>("newField"); TableRow row4 = table.CreateRow(); TableRow row5 = table.CreateRow(); row4.Set("newField", 500); row5.Set("newField", 1000); relay.Subset("Table", (o => o.row == 3)).SaveAll("s3.json"); relay.Subset("Table", (o => o.row == 4)).SaveAll("s4.json"); } { RelayTwo relay = new RelayTwo(); relay.MergeWith(new RelayTwo("s4.json")); relay.MergeWith(new RelayTwo("s0.json")); relay.MergeWith(new RelayTwo("s1.json")); relay.MergeWith(new RelayTwo("s2.json")); relay.MergeWith(new RelayTwo("s3.json")); TableTwo table = relay.GetTable("Table"); Assert.AreEqual(5, table.GetRows().Length); Assert.AreEqual("kottar", table.GetRow(0).Get <string>("oldField")); Assert.AreEqual("stenar", table.GetRow(1).Get <string>("oldField")); Assert.AreEqual("gräs", table.GetRow(2).Get <string>("oldField")); Assert.AreEqual(500, table.GetRow(3).Get <int>("newField")); Assert.AreEqual(1000, table.GetRow(4).Get <int>("newField")); } }
public void ArrayBasics() { TableTwo table1 = _relay.GetTable("Table1"); int[] array1 = new int[] { 42, 100, 3, 17 }; table1.AddField <int[]>("luckyNumbers"); table1.SetValue(_rowIndex0, "luckyNumbers", array1); int[] array2 = table1.GetValue <int[]>(_rowIndex0, "luckyNumbers"); Assert.AreSame(array1, array2); }
public void TryingToInstantiateNonexistingClass() { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable(Ting.TABLE_NAME); relay.CreateTable(Room.TABLE_NAME); table.AddField <string>(RelayObjectTwo.CSHARP_CLASS_FIELD_NAME); table.CreateRow().Set(RelayObjectTwo.CSHARP_CLASS_FIELD_NAME, "invalid class name"); Assert.Throws <CantFindClassWithNameException>(() => { new TingRunner(relay, new RoomRunner(relay)); }); }
public void CreateTimedDialogueNode() { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable(DialogueNode.TABLE_NAME); TimedDialogueNode t = new TimedDialogueNode(); t.CreateNewRelayEntry(table, "TimedDialogueNode"); t.timer = 100; t.Update(1.0f); Assert.AreEqual(99, t.timer, 0.001f); }
// GET: TableTwoes/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TableTwo tableTwo = db.TableTwoes.Find(id); if (tableTwo == null) { return(HttpNotFound()); } return(View(tableTwo)); }
public void GetListOfRowIdsInTable() { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable("Table"); table.CreateRow(); table.CreateRow(); table.CreateRow(); int[] allObjectIds = table.GetIndexesOfPopulatedRows(); Assert.AreEqual(3, allObjectIds.Length); CollectionAssert.AllItemsAreUnique(allObjectIds); }
public void RemovingRows() { TableTwo table1 = _relay.GetTable("Table1"); Assert.AreEqual(2, table1.GetIndexesOfPopulatedRows().Length); Assert.IsNotNull(table1.GetRow(_rowIndex0)); table1.RemoveRowAt(_rowIndex0); Assert.AreEqual(1, table1.GetIndexesOfPopulatedRows().Length); Assert.Throws <RelayException>(() => { table1.GetRow(_rowIndex0); }); table1.RemoveRowAt(_rowIndex1); Assert.AreEqual(0, table1.GetIndexesOfPopulatedRows().Length); }
public void MergeSaves() { { RelayTwo relay = new RelayTwo(); TableTwo table = relay.CreateTable("Table"); table.AddField <string>("name"); TableRow row1 = table.CreateRow(); TableRow row2 = table.CreateRow(); TableRow row3 = table.CreateRow(); row1.Set("name", "a"); row2.Set("name", "b"); row3.Set("name", "c"); Assert.AreEqual(3, table.GetRows().Length); Assert.AreEqual("a", table.GetRow(0).Get <string>("name")); Assert.AreEqual("b", table.GetRow(1).Get <string>("name")); Assert.AreEqual("c", table.GetRow(2).Get <string>("name")); RelayTwo save1 = relay.Subset("Table", (o => o.Get <string>("name") == "a")); RelayTwo save2 = relay.Subset("Table", (o => o.Get <string>("name") == "b")); RelayTwo save3 = relay.Subset("Table", (o => o.Get <string>("name") == "c")); Assert.AreEqual(1, save1.GetTable("Table").GetRows().Length); Assert.AreEqual(1, save2.GetTable("Table").GetRows().Length); Assert.AreEqual(1, save3.GetTable("Table").GetRows().Length); save1.SaveAll("PartialSave1.json"); save2.SaveAll("PartialSave2.json"); save3.SaveAll("PartialSave3.json"); } { RelayTwo relay = new RelayTwo(); relay.MergeWith(new RelayTwo("PartialSave1.json")); relay.MergeWith(new RelayTwo("PartialSave2.json")); relay.MergeWith(new RelayTwo("PartialSave3.json")); TableTwo table = relay.GetTable("Table"); Assert.AreEqual(3, table.GetRows().Length); Assert.AreEqual("a", table.GetRow(0).Get <string>("name")); Assert.AreEqual("b", table.GetRow(1).Get <string>("name")); Assert.AreEqual("c", table.GetRow(2).Get <string>("name")); } }
public void Setup() { _relay = new RelayTwo(); _table = _relay.CreateTable(Ting.TABLE_NAME); _relay.CreateTable(Room.TABLE_NAME); _roomRunner = new RoomRunner(_relay); Room room = _roomRunner.CreateRoom<Room>(ROOM_NAME); for (int i = 0; i < 100; i++) { room.AddTile(new PointTileNode(new IntPoint(i % 10, i / 10), room)); } _tingRunner = new TingRunner(_relay, _roomRunner); _tingRunner.CreateTing<MyTing>("Ting0", new WorldCoordinate(ROOM_NAME, new IntPoint(0, 0))); _tingRunner.CreateTing<MyTing>("Ting1", new WorldCoordinate(ROOM_NAME, new IntPoint(1, 0))); }
public void Setup() { _relay = new RelayTwo(); _table = _relay.CreateTable(Ting.TABLE_NAME); _relay.CreateTable(Room.TABLE_NAME); _roomRunner = new RoomRunner(_relay); Room room = _roomRunner.CreateRoom <Room>(ROOM_NAME); for (int i = 0; i < 100; i++) { room.AddTile(new PointTileNode(new IntPoint(i % 10, i / 10), room)); } _tingRunner = new TingRunner(_relay, _roomRunner); _tingRunner.CreateTing <MyTing>("Ting0", new WorldCoordinate(ROOM_NAME, new IntPoint(0, 0))); _tingRunner.CreateTing <MyTing>("Ting1", new WorldCoordinate(ROOM_NAME, new IntPoint(1, 0))); }
public void BasicUsage() { TableTwo t = new TableTwo("Basic"); t.AddField <int>("layer"); t.AddField <string>("name"); t.AddField <bool>("enabled"); t.AddField <string>("hash"); t.CreateRow(). Set("layer", 12). Set("name", "Lars"). Set("hash", "qwert"); t.CreateRow(). Set("name", "Christina"). Set("enabled", false). Set("hash", "qwert"); t.CreateRow(). Set("layer", 6). Set("name", "Sven"). Set("enabled", true); t.CreateRow(). Set("name", "Johannes"); DumpTable(t); Assert.AreEqual(12, t.GetValue <int>(0, "layer")); Assert.AreEqual(6, t.GetValue <int>(2, "layer")); t.RemoveRowAt(1); Console.WriteLine("#Remove Christina"); DumpTable(t); Console.WriteLine("#Create Lisa at Row 1"); t.CreateRow().Set <string>("name", "Lisa"); DumpTable(t); Console.WriteLine("#Remove Johannes and Sven"); t.RemoveRowAt(3); t.RemoveLastRow(); Assert.AreEqual(2, t.capacity); DumpTable(t); Console.WriteLine("#Remove Lars"); t.RemoveRowAt(0); Assert.AreEqual(2, t.capacity); Assert.AreEqual("Lisa", t.GetValue <string>(1, "name")); }
public void TestEquals() { { //table name equality TableTwo ta = new TableTwo("rawa2"); TableTwo tb = new TableTwo("rawa2"); Assert.AreEqual(true, ta.Equals(tb)); } { //table name inequality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa2"); Assert.AreEqual(false, ta.Equals(tb)); } { //table field type equality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField <string>("string"); tb.AddField <string>("string"); Assert.AreEqual(true, ta.Equals(tb)); } { //table field type inequality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField <string>("string"); tb.AddField <int>("string"); Assert.AreEqual(false, ta.Equals(tb)); } { //row equality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField <string>("string"); ta.CreateRow().Set("string", "hello"); tb.AddField <string>("string"); tb.CreateRow().Set("string", "hello"); Assert.AreEqual(true, ta.Equals(tb)); } { //row inequality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField <string>("string"); ta.CreateRow().Set("string", "hello"); tb.AddField <string>("string"); tb.CreateRow().Set("string", "2hello"); Assert.AreEqual(false, ta.Equals(tb)); } }
public void BasicUsage() { TableTwo t = new TableTwo("Basic"); t.AddField<int>("layer"); t.AddField<string>("name"); t.AddField<bool>("enabled"); t.AddField<string>("hash"); t.CreateRow(). Set("layer", 12). Set("name", "Lars"). Set("hash", "qwert"); t.CreateRow(). Set("name", "Christina"). Set("enabled", false). Set("hash", "qwert"); t.CreateRow(). Set("layer", 6). Set("name", "Sven"). Set("enabled", true); t.CreateRow(). Set("name", "Johannes"); DumpTable(t); Assert.AreEqual(12, t.GetValue<int>(0, "layer")); Assert.AreEqual(6, t.GetValue<int>(2, "layer")); t.RemoveRowAt(1); Console.WriteLine("#Remove Christina"); DumpTable(t); Console.WriteLine("#Create Lisa at Row 1"); t.CreateRow().Set<string>("name", "Lisa"); DumpTable(t); Console.WriteLine("#Remove Johannes and Sven"); t.RemoveRowAt(3); t.RemoveLastRow(); Assert.AreEqual(2, t.capacity); DumpTable(t); Console.WriteLine("#Remove Lars"); t.RemoveRowAt(0); Assert.AreEqual(2, t.capacity); Assert.AreEqual("Lisa", t.GetValue<string>(1, "name")); }
public void TestEquals() { { //table name equality TableTwo ta = new TableTwo("rawa2"); TableTwo tb = new TableTwo("rawa2"); Assert.AreEqual(true, ta.Equals(tb)); } { //table name inequality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa2"); Assert.AreEqual(false, ta.Equals(tb)); } { //table field type equality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField<string>("string"); tb.AddField<string>("string"); Assert.AreEqual(true, ta.Equals(tb)); } { //table field type inequality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField<string>("string"); tb.AddField<int>("string"); Assert.AreEqual(false, ta.Equals(tb)); } { //row equality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField<string>("string"); ta.CreateRow().Set("string", "hello"); tb.AddField<string>("string"); tb.CreateRow().Set("string", "hello"); Assert.AreEqual(true, ta.Equals(tb)); } { //row inequality TableTwo ta = new TableTwo("rawa"); TableTwo tb = new TableTwo("rawa"); ta.AddField<string>("string"); ta.CreateRow().Set("string", "hello"); tb.AddField<string>("string"); tb.CreateRow().Set("string", "2hello"); Assert.AreEqual(false, ta.Equals(tb)); } }
public WorldSettings(RelayTwo pRelay) { _table = pRelay.GetTable(TABLE_NAME); SetupCells(); }
void DumpTable(TableTwo t) { Console.WriteLine("TABLE - " + t.name); foreach (var i in t) { Console.WriteLine(i.row.ToString() + " " + String.Join(" : ", i.valuesAsStrings)); } }