Esempio n. 1
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));
        }
Esempio n. 2
0
        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"));
            }
        }
Esempio n. 3
0
        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"));
            }
        }
Esempio n. 4
0
        public void SaveSubsetOfDatabase()
        {
            {
                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 subset = relay.Subset("Table1", (o => o.Get <bool>("1337") == true));

                subset.SaveAll("Only1337People.json");
            }

            {
                RelayTwo   relay = new RelayTwo("Only1337People.json");
                TableTwo   table = relay.GetTable("Table1");
                TableRow[] rows  = table.GetRows();
                Assert.AreEqual(1, rows.Length);
                Assert.AreEqual("Björn", table.First().Get <string>("name"));
            }
        }
Esempio n. 5
0
		public void SaveSubsetOfDatabase()
        {
			{
				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 subset = relay.Subset("Table1", (o => o.Get<bool>("1337") == true));
				
				subset.SaveAll("Only1337People.json");
			}
		
			{
				RelayTwo relay = new RelayTwo("Only1337People.json");
				TableTwo table = relay.GetTable("Table1");
				TableRow[] rows = table.GetRows();
				Assert.AreEqual(1, rows.Length);
				Assert.AreEqual("Björn", table.First().Get<string>("name"));
			}
		}
Esempio n. 6
0
        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"));
			}
        }
Esempio n. 7
0
        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"));
			}
        }
Esempio n. 8
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));
        }