public static bool TestSave() { FakeTable fake = new FakeTable(); fake.UserName = "******"; fake.UserName2 = "saya2"; fake.UserName3 = "saya3"; fake.insert_date = DateTime.Now; bool result = dalFake.SaveAsync(fake).GetAwaiter().GetResult(); fake = new FakeTable(); fake.UserName = "******"; fake.UserName2 = "saya2a"; fake.UserName3 = "saya3a"; fake.insert_date = DateTime.Now; result = dalFake.SaveAsync(fake).GetAwaiter().GetResult(); fake = new FakeTable(); fake.UserName = "******"; fake.UserName2 = "saya2b"; fake.UserName3 = "saya3b"; fake.insert_date = DateTime.Now; result = dalFake.SaveAsync(fake).GetAwaiter().GetResult(); fake = new FakeTable(); fake.UserName = "******"; fake.UserName2 = "saya2c"; fake.UserName3 = "saya3c"; fake.insert_date = DateTime.Now; result = dalFake.SaveAsync(fake).GetAwaiter().GetResult(); return(result); }
public void Query_returns_results() { // Arrange var rows = PersonList; var table = new FakeTable <Person>(rows); var readerResult = new ReaderCommandResult { Result = new FakeDataReader(table) }; var command = new FakeCommand(readerResult); Connection.Setup(command); // Act var results = Connection.Query <Person>("SELECT TOP 1 * FROM [person] WHERE [Id] = {0}", 1) .ToList(); // Assert results.ShouldNotBeNull(); results.Count.ShouldEqual(rows.Count); results.Skip(0).First().Id.ShouldEqual(rows.Skip(0).First().Id); results.Skip(0).First().Name.ShouldEqual(rows.Skip(0).First().Name); results.Skip(0).First().DateOfBirth.ShouldEqual(rows.Skip(0).First().DateOfBirth); results.Skip(1).First().Id.ShouldEqual(rows.Skip(1).First().Id); results.Skip(1).First().Name.ShouldEqual(rows.Skip(1).First().Name); results.Skip(1).First().DateOfBirth.ShouldEqual(rows.Skip(1).First().DateOfBirth); }
public void FakeTableCellSearchTest() { const int width = 20; const int height = 40; var table = new FakeTable(width, height); var positions = new[] { new CellPosition(1, 1), new CellPosition(40, 20), new CellPosition(10, 10) }; var stringValues = new[] { "Test Value", "Test Test", "Another text" }; for (var i = 0; i < positions.Count(); ++i) { var cell = table.InsertCell(positions[i]); cell.StringValue = stringValues[i]; } var cells = table.SearchCellByText("Test"); var cellsArray = cells as ICell[] ?? cells.ToArray(); cellsArray.Length.Should().Be(2); cellsArray[0].Should().NotBeNull(); cellsArray[1].Should().NotBeNull(); cellsArray[0].CellPosition.RowIndex.Should().Be(1); cellsArray[0].CellPosition.ColumnIndex.Should().Be(1); cellsArray[1].CellPosition.RowIndex.Should().Be(40); cellsArray[1].CellPosition.ColumnIndex.Should().Be(20); }
public void Construct_With_Rows_and_column_names_uses_column_names_and_determines_types() { var rows = new[] { new object[] { 1, "Dave", DateTime.UtcNow } }; var columnNames = new[] { "Id", "Name", "DateOfBirth" }; var sut = new FakeTable(rows, columnNames); sut.Rows.Count.ShouldBe(rows.Length); sut.Columns.Count.ShouldBe(rows.First().Length); sut.Columns[0].ColumnName.ShouldBe(columnNames[0]); sut.Columns[0].DataType.ShouldBe(typeof(int)); sut.Columns[1].ColumnName.ShouldBe(columnNames[1]); sut.Columns[1].DataType.ShouldBe(typeof(string)); sut.Columns[2].ColumnName.ShouldBe(columnNames[2]); sut.Columns[2].DataType.ShouldBe(typeof(DateTime)); sut.Rows[0][0].ShouldBe(rows[0][0]); sut.Rows[0][1].ShouldBe(rows[0][1]); sut.Rows[0][2].ShouldBe(rows[0][2]); }
public void Construct_With_DataColumns_uses_names_and_types() { var rows = new[] { new object[] { 1, "Dave", DateTime.UtcNow } }; var dataColumns = new[] { new DataColumn("Id", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("DateOfBirth", typeof(DateTime)), }; var sut = new FakeTable(rows, dataColumns); sut.Rows.Count.ShouldBe(rows.Length); sut.Columns.Count.ShouldBe(rows.First().Length); sut.Columns[0].ColumnName.ShouldBe(dataColumns[0].ColumnName); sut.Columns[0].DataType.ShouldBe(typeof(int)); sut.Columns[1].ColumnName.ShouldBe(dataColumns[1].ColumnName); sut.Columns[1].DataType.ShouldBe(typeof(string)); sut.Columns[2].ColumnName.ShouldBe(dataColumns[2].ColumnName); sut.Columns[2].DataType.ShouldBe(typeof(DateTime)); sut.Rows[0][0].ShouldBe(rows[0][0]); sut.Rows[0][1].ShouldBe(rows[0][1]); sut.Rows[0][2].ShouldBe(rows[0][2]); }
public void SimpleTestWithArray() { var model = new[] { "a", "b", "c", "d", "e" }; var template = new FakeTable(1, 1); var cell = template.InsertCell(new CellPosition(1, 1)); cell.StringValue = "Template:RootTemplate:A1:A1"; var templateEngine = new SkbKontur.Excel.TemplateEngine.TemplateEngine(template, logger); var target = new FakeTable(10, 10); var tableBuilder = new TableBuilder(target, new TableNavigator(new CellPosition("B2"), logger), new Style(new FakeCell(new CellPosition("A1")) { StyleId = "(1,1)" })); templateEngine.Render(tableBuilder, model); target.GetCell(new CellPosition("B2")).StringValue.Should().Be("a"); target.GetCell(new CellPosition("B3")).StringValue.Should().Be("b"); target.GetCell(new CellPosition("B4")).StringValue.Should().Be("c"); target.GetCell(new CellPosition("B5")).StringValue.Should().Be("d"); target.GetCell(new CellPosition("B6")).StringValue.Should().Be("e"); DebugPrinting(target, new CellPosition(1, 1), new CellPosition(10, 10)); }
public void WithNullArrayTest() { var model = new DocumentWithArray { Array = null, NonArray = "StringValue" }; var stringTemplate = new[] { new[] { "", "Template:RootTemplate:A2:D4", "", "" }, new[] { "", "Адреса:", "Имена:", "" }, new[] { "", "Value::Array[].Address", "Value::Array[].Name", "" }, new[] { "Value::NonArray", "", "", "" } }; var template = FakeTable.GenerateFromStringArray(stringTemplate); var target = new FakeTable(100, 100); var tableBuilder = new TableBuilder(target, new TableNavigator(new CellPosition("B2"), logger)); var templateEngine = new SkbKontur.Excel.TemplateEngine.TemplateEngine(template, logger); templateEngine.Render(tableBuilder, model); target.GetCell(new CellPosition("C2")).StringValue.Should().Be("Адреса:"); target.GetCell(new CellPosition("D2")).StringValue.Should().Be("Имена:"); target.GetCell(new CellPosition("C3")).StringValue.Should().BeEmpty(); target.GetCell(new CellPosition("D3")).StringValue.Should().BeEmpty(); target.GetCell(new CellPosition("B4")).StringValue.Should().Be("StringValue"); DebugPrinting(target, new CellPosition(1, 1), new CellPosition(20, 20)); }
public void TableBuilderAtomicValuePrintingTest() { const int width = 20; const int height = 40; var table = new FakeTable(width, height); var tableBuilder = new TableBuilder(table, new TableNavigator(new CellPosition("A1"), logger)); tableBuilder.RenderAtomicValue("Test"); tableBuilder.MoveToNextColumn(); table.GetCell(new CellPosition("A1")).StringValue.Should().Be("Test"); tableBuilder.CurrentState.Cursor.CellReference.Should().Be("B1"); tableBuilder.CurrentState.GlobalHeight.Should().Be(0); tableBuilder.CurrentState.GlobalWidth.Should().Be(1); tableBuilder.CurrentState.CurrentLayerHeight.Should().Be(0); tableBuilder.CurrentState.CurrentLayerStartRowIndex.Should().Be(1); tableBuilder.RenderAtomicValue("tseT"); tableBuilder.MoveToNextColumn(); table.GetCell(new CellPosition("B1")).StringValue.Should().Be("tseT"); tableBuilder.CurrentState.Cursor.CellReference.Should().Be("C1"); tableBuilder.CurrentState.GlobalHeight.Should().Be(0); tableBuilder.CurrentState.GlobalWidth.Should().Be(2); tableBuilder.CurrentState.CurrentLayerHeight.Should().Be(0); tableBuilder.CurrentState.CurrentLayerStartRowIndex.Should().Be(1); }
public void ObjectWithArrayPrintingTest() { var model = new DocumentWithArray { Array = new[] { new Organization { Address = "Address1", Name = "Name1" }, new Organization { Address = "Address2", Name = "Name2" }, new Organization { Address = "Address3", Name = "Name3" }, new Organization { Address = "Address4", Name = "Name4" } }, NonArray = "StringValue" }; var stringTemplate = new[] { new[] { "", "Template:RootTemplate:A2:D4", "", "" }, new[] { "", "Адреса:", "Имена:", "" }, new[] { "", "Value::Array[].Address", "Value::Array[].Name", "" }, new[] { "Value::NonArray", "", "", "" } }; var template = FakeTable.GenerateFromStringArray(stringTemplate); var target = new FakeTable(100, 100); var tableBuilder = new TableBuilder(target, new TableNavigator(new CellPosition("B2"), logger)); var templateEngine = new SkbKontur.Excel.TemplateEngine.TemplateEngine(template, logger); templateEngine.Render(tableBuilder, model); target.GetCell(new CellPosition("C2")).StringValue.Should().Be("Адреса:"); target.GetCell(new CellPosition("D2")).StringValue.Should().Be("Имена:"); target.GetCell(new CellPosition("C3")).StringValue.Should().Be("Address1"); target.GetCell(new CellPosition("C4")).StringValue.Should().Be("Address2"); target.GetCell(new CellPosition("C5")).StringValue.Should().Be("Address3"); target.GetCell(new CellPosition("C6")).StringValue.Should().Be("Address4"); target.GetCell(new CellPosition("D3")).StringValue.Should().Be("Name1"); target.GetCell(new CellPosition("D4")).StringValue.Should().Be("Name2"); target.GetCell(new CellPosition("D5")).StringValue.Should().Be("Name3"); target.GetCell(new CellPosition("D6")).StringValue.Should().Be("Name4"); target.GetCell(new CellPosition("B7")).StringValue.Should().Be("StringValue"); DebugPrinting(target, new CellPosition(1, 1), new CellPosition(20, 20)); }
public void FakeTablePartExtractionTest() { const int width = 20; const int height = 40; var table = new FakeTable(width, height); for (var x = 0; x < width; ++x) { for (var y = 0; y < height; ++y) { table.InsertCell(new CellPosition(y + 1, x + 1)); } } var positions = new[] { new CellPosition(1, 1), new CellPosition(40, 20), new CellPosition(10, 10) }; var stringValues = new[] { "Test Value", "Test Test", "Another text" }; for (var i = 0; i < positions.Count(); ++i) { var cell = table.InsertCell(positions[i]); cell.StringValue = stringValues[i]; } var tablePart = table.GetTablePart(new Rectangle(new CellPosition(9, 9), new CellPosition(40, 20))); tablePart.Cells.Count().Should().Be(32); foreach (var row in tablePart.Cells) { row.Count().Should().Be(12); } var targetRow = tablePart.Cells.FirstOrDefault(row => row.FirstOrDefault(cell => cell.StringValue == "Another text") != null); targetRow.Should().NotBeNull(); // ReSharper disable AssignNullToNotNullAttribute var targetCell = targetRow.FirstOrDefault(cell => cell.StringValue == "Another text"); // ReSharper restore AssignNullToNotNullAttribute targetCell.Should().NotBeNull(); // ReSharper disable PossibleNullReferenceException targetCell.CellPosition.RowIndex.Should().Be(10); // ReSharper restore PossibleNullReferenceException targetCell.CellPosition.ColumnIndex.Should().Be(10); targetRow = tablePart.Cells.LastOrDefault(); targetRow.Should().NotBeNull(); // ReSharper disable AssignNullToNotNullAttribute targetCell = tablePart.Cells.LastOrDefault().LastOrDefault(); // ReSharper restore AssignNullToNotNullAttribute targetCell.Should().NotBeNull(); // ReSharper disable PossibleNullReferenceException targetCell.StringValue.Should().Be("Test Test"); // ReSharper restore PossibleNullReferenceException }
public void FakeTableWithWrongPositionPartExtractionTest() { const int width = 20; const int height = 40; var table = new FakeTable(width, height); var tablePart = table.GetTablePart(new Rectangle(new CellPosition(-1, 0), new CellPosition(1, 1))); tablePart.Should().BeNull(); }
public void FakeTableWrongPositionCellInsertionTest(int wrongRowIndex, int wrongColumnIndex) { const int width = 20; const int height = 40; var table = new FakeTable(width, height); var cell = table.InsertCell(new CellPosition(wrongRowIndex, wrongColumnIndex)); cell.Should().BeNull(); }
public void OneTimeSetUp() { BrokenTable = new FakeTable(null); IncompleteTable = new FakeTable(new GameObject()); var go = new GameObject(); go.AddComponent <FakeScript>(); ValidTable = new FakeTable(go); }
public void SimpleObjectPrintingTest() { var model = new Document { Buyer = new Organization { Address = "BuyerAddress", Name = "BuyerName" }, Supplier = new Organization { Address = "SupplierAddress", Name = "SupplierName" }, TypeName = "ORDERS" }; var stringTemplate = new[] { new[] { "", "", "", "", "" }, new[] { "", "", "", "", "" }, new[] { "", "Template:RootTemplate:B4:D5", "", "", "" }, new[] { "", "Покупатель:", "Поставщик:", "", "" }, new[] { "", "Value:Organization:Buyer", "Value:Organization:Supplier", "Value::TypeName", "" }, new[] { "", "", "", "", "" }, new[] { "Template:Organization:A8:A9", "", "", "", "" }, new[] { "Value::Name", "", "", "", "" }, new[] { "Value::Address", "", "", "", "" } }; var template = FakeTable.GenerateFromStringArray(stringTemplate); var target = new FakeTable(100, 100); var tableBuilder = new TableBuilder(target, new TableNavigator(new CellPosition("A1"), logger)); var templateEngine = new SkbKontur.Excel.TemplateEngine.TemplateEngine(template, logger); templateEngine.Render(tableBuilder, model); target.GetCell(new CellPosition("A1")).StringValue.Should().Be("Покупатель:"); target.GetCell(new CellPosition("B1")).StringValue.Should().Be("Поставщик:"); target.GetCell(new CellPosition("A2")).StringValue.Should().Be("BuyerName"); target.GetCell(new CellPosition("B2")).StringValue.Should().Be("SupplierName"); target.GetCell(new CellPosition("C2")).StringValue.Should().Be("ORDERS"); target.GetCell(new CellPosition("A3")).StringValue.Should().Be("BuyerAddress"); target.GetCell(new CellPosition("B3")).StringValue.Should().Be("SupplierAddress"); ((FakeCell)target.GetCell(new CellPosition("A1"))).StyleId.Should().Be("B4"); ((FakeCell)target.GetCell(new CellPosition("B1"))).StyleId.Should().Be("C4"); ((FakeCell)target.GetCell(new CellPosition("A2"))).StyleId.Should().Be("A8"); ((FakeCell)target.GetCell(new CellPosition("B2"))).StyleId.Should().Be("A8"); ((FakeCell)target.GetCell(new CellPosition("C2"))).StyleId.Should().Be("D5"); ((FakeCell)target.GetCell(new CellPosition("A3"))).StyleId.Should().Be("A9"); ((FakeCell)target.GetCell(new CellPosition("B3"))).StyleId.Should().Be("A9"); DebugPrinting(target, new CellPosition(1, 1), new CellPosition(10, 10)); }
public void FakeTableCellInsertionTest() { const int width = 20; const int height = 40; var table = new FakeTable(width, height); var position = new CellPosition(10, 10); var cell = table.InsertCell(position); cell.Should().NotBeNull(); }
public void command_with_rows_should_return_first_row_with_FirstOrDefault() { var table = new FakeTable(new[] { "Id" }, new[] { new object[] { "10" } }); var cmd = new FakeCommand(table); cmd.CommandText = "MustBespecifiedForFakeCmd"; var actual = cmd.FirstOrDefault(new TentityMapper()); actual.Id.Should().Be("10"); }
public void Construct_With_FakeTable_sets_SchemaType_to_DataTable() { var table = new FakeTable <Person>(); table.AddRow(new Person { Id = 1, Name = "Bob", DateOfBirth = new DateTime(1980, 06, 15) }); var sut = new FakeDataReader(table); //Assert.Equal(SchemaDataTypeSource.DataTable, sut.SchemaDataTypeSource); }
public void Construct_With_Type_sets_columns() { var sut = new FakeTable <Person>(); Assert.Equal(3, sut.Columns.Count); Assert.Equal("Id", sut.Columns[0].ColumnName); Assert.Equal("Name", sut.Columns[1].ColumnName); Assert.Equal("DateOfBirth", sut.Columns[2].ColumnName); Assert.Equal(typeof(int), sut.Columns[0].DataType); Assert.Equal(typeof(string), sut.Columns[1].DataType); Assert.Equal(typeof(DateTime), sut.Columns[2].DataType); }
public void QueryMultiple_returns_results() { // Arrange var personTable = new FakeTable <Person>(PersonList); var addressesTable = new FakeTable <Address>(AddressesList);; var queryResult = new ReaderCommandResult() { Result = new FakeDataReader( new DataTable[] { personTable, addressesTable }) }; var command = new FakeCommand(new [] { queryResult }); Connection.Setup(command); // Act var results = Connection.QueryMultiple("[usp_SomeStoredProcedure] {0}", 1); var person = results.ReadFirst <Person>(); var addresses = results.Read <Address>().ToList(); // Assert person.ShouldNotBeNull(); addresses.ShouldNotBeNull().ShouldNotBeEmpty(); addresses.Count.ShouldEqual(addressesTable.Rows.Count); person.Id.ShouldEqual(Person1.Id); person.Name.ShouldEqual(Person1.Name); person.DateOfBirth.ShouldEqual(Person1.DateOfBirth); addresses[0].Id.ShouldEqual(Address1.Id); addresses[0].Type.ShouldEqual(Address1.Type); addresses[0].Line1.ShouldEqual(Address1.Line1); addresses[0].Line2.ShouldEqual(Address1.Line2); addresses[0].Line3.ShouldEqual(Address1.Line3); addresses[1].Id.ShouldEqual(Address2.Id); addresses[1].Type.ShouldEqual(Address2.Type); addresses[1].Line1.ShouldEqual(Address2.Line1); addresses[1].Line2.ShouldEqual(Address2.Line2); addresses[1].Line3.ShouldEqual(Address2.Line3); addresses[2].Id.ShouldEqual(Address3.Id); addresses[2].Type.ShouldEqual(Address3.Type); addresses[2].Line1.ShouldEqual(Address3.Line1); addresses[2].Line2.ShouldEqual(Address3.Line2); addresses[2].Line3.ShouldEqual(Address3.Line3); }
public void FakeTableEmptyCellExtractionTest() { const int width = 20; const int height = 40; var table = new FakeTable(width, height); var cell = table.GetCell(new CellPosition(-1, -1)); cell.Should().BeNull(); cell = table.GetCell(new CellPosition(3, 3)); cell.Should().BeNull(); }
public void Construct_With_Rows_And_Columns_leaves_SchemaType_as_default_RowData() { var rows = new[] { new object[] { 1, "Dave", DateTime.UtcNow } }; var table = new FakeTable(rows); var sut = new FakeDataReader(table); //Assert.Equal(SchemaDataTypeSource.RowData, sut.SchemaDataTypeSource); }
public void WithMergeCellsTemplateExtractionTest() { var template = FakeTable.GenerateFromStringArray(stringTemplate); template.MergeCells(new Rectangle(new CellPosition("A3"), new CellPosition("B3"))); var templateCollection = new TemplateCollection(template); var rootTemplate = templateCollection.GetTemplate("RootTemplate"); var mergedCells = rootTemplate.MergedCells.ToArray(); mergedCells.Length.Should().Be(1); mergedCells[0].UpperLeft.CellReference.Should().Be("A2"); mergedCells[0].LowerRight.CellReference.Should().Be("B2"); }
public static List <FakeTable> TestList0SecondsAsync() { FakeTable fake = new FakeTable(); fake.Id = 1; List <SearchField> lsf = new List <SearchField>(); lsf.Add(new SearchField { Name = "username", Operator = "=", Value = "saya" }); var result = dalFake.List30SecondsAsync(false, lsf).GetAwaiter().GetResult(); return(result); }
public void AddRowFromInstance_add_row_data_Correctly() { var row1 = new Person { Id = 1, Name = "Bob", DateOfBirth = new DateTime(1980, 06, 15) }; var sut = new FakeTable <Person>(); sut.AddRow(row1); Assert.Equal(1, sut.Rows.Count); Assert.Equal(row1.Id, sut.Rows[0]["Id"]); Assert.Equal(row1.Name, sut.Rows[0]["Name"]); Assert.Equal(row1.DateOfBirth, sut.Rows[0]["DateOfBirth"]); }
public static bool TestDelete() { FakeTable fake = new FakeTable(); fake.Id = 1; bool result = dalFake.DeleteFisikAsync(fake).GetAwaiter().GetResult(); fake = new FakeTable(); fake.Id = 2; fake.UserName2 = "saya2update"; fake.update_date = DateTime.Now; result = dalFake.UpdateAsync(fake).GetAwaiter().GetResult(); return(result); }
public void Get_returns_null_when_no_data_setup() { // Arrange var columns = new[] { nameof(SimpleObject.Id), nameof(SimpleObject.Name), nameof(SimpleObject.DateOfBirth) }; var rows = Enumerable.Empty <object[]>(); var table = new FakeTable(rows, columns); var cmdToReturn = new FakeCommand(table); _connectionFactory.Connection.Setup(cmdToReturn); // Act var instance = _repository.Get(); // Assert Assert.Null(instance); }
public void AutomaticResult() { var table = new FakeTable(new[] { new object[] {1, "jonas"}, new object[] {2, "arne"}, }); var connection = new FakeConnection(); connection.Setup(new FakeCommand(table)); var cmd = connection.CreateCommand(); cmd.CommandText = "SELECT Id, UserName FROM users"; var result = cmd.ExecuteReader(); Assert.True(result.Read()); Assert.Equal(1, (int)result[0]); Assert.Equal("jonas", result[1]); }
public void ToList_should_fill_the_list() { var connection = new FakeConnection() { CurrentState = ConnectionState.Open }; var table = new FakeTable(new String[] { "Id" }, new object[][] { new object[] { 1 }, }); var result = new CommandResult[] { new ReaderCommandResult { Result = new FakeDataReader(table) } }; var cmd = new FakeCommand(connection, result); cmd.CommandText = "Hello"; var actual = cmd.ToList <Tentity>(new TentityMapper()); actual[0].Id.Should().Be("1"); }
public static List <FakeTable> TestListAsync() { FakeTable fake = new FakeTable(); fake.Id = 1; List <SearchField> lsf = new List <SearchField>(); lsf.Add(new SearchField { Name = "username", Operator = "=", Value = "saya" }); var result = dalFake.ListDataAsync(lsf).GetAwaiter().GetResult(); List <FakeTable> listResult = new List <FakeTable>(); if (result != null) { listResult = (List <FakeTable>)result; } return(listResult); }
public void FromStringArrayFakeTableInitializationTest() { var template = new[] { new[] { "Text", null, "" }, new[] { "Value:RootModel:Root", "qwe", "Model:ABC:A1:SD123" } }; var table = FakeTable.GenerateFromStringArray(template); table.GetCell(new CellPosition("A1")).StringValue.Should().Be("Text"); table.GetCell(new CellPosition("B1")).StringValue.Should().BeNull(); table.GetCell(new CellPosition(2, 3)).StringValue.Should().Be("Model:ABC:A1:SD123"); }
public void AutomaticResult() { var table = new FakeTable(new[] { new object[] { 1, "jonas" }, new object[] { 2, "arne" }, }); var connection = new FakeConnection(); connection.Setup(new FakeCommand(table)); var cmd = connection.CreateCommand(); cmd.CommandText = "SELECT Id, UserName FROM users"; var result = cmd.ExecuteReader(); Assert.True(result.Read()); Assert.Equal(1, (int)result[0]); Assert.Equal("jonas", result[1]); }