protected bool doMatch(ResultSet actual) { actualResultSet = actual; //This is needed if we don't use //ism if (expectedResultSet == null) { expectedResultSet = GetResultSet(expect); } if (TransformationProvider != null) { TransformationProvider.Transform(expectedResultSet); } result = Engine.Compare(actualResultSet, expectedResultSet); // Math.Min for result.Difference limits the value to 1 if we've two non matching resultsets if ((int)persistanceChoice + Math.Min(1, (int)result.Difference) > 1) { if ((persistanceItems & PersistanceItems.expected) == PersistanceItems.expected) { doPersist(expectedResultSet, GetPersistancePath("Expect")); } if ((persistanceItems & PersistanceItems.actual) == PersistanceItems.actual) { doPersist(actualResultSet, GetPersistancePath("Actual")); } } return(result.Difference == ResultSetDifferenceType.None); }
/// <summary> /// Commands the callback. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> public override void CommandCallback(object sender, EventArgs e) { string fileName; var result = SolutionHelper.IsCorrectItemForTransformationOperationsSelected(out fileName); if (!result) { return; } TransformationProvider.Transform(fileName, Options.Options.TransfomationFileNameRegexp, Options.Options.SourceFileRegexpMatchIndex); }
public void Transform_NativeTranformationBlankToNull_Correct() { var resultSet = new NBi.Core.ResultSet.ResultSet(); resultSet.Load("\t;10"); var transformation = Mock.Of <ITransformationInfo> ( t => t.Language == LanguageType.Native && t.OriginalType == NBi.Core.ResultSet.ColumnType.Text && t.Code == "blank-to-null" ); var provider = new TransformationProvider(); provider.Add(new ColumnOrdinalIdentifier(0), transformation); provider.Transform(resultSet); Assert.That(resultSet.Rows[0][0], Is.EqualTo("(null)")); }
public void Transform_SimpleTranformation_Correct() { var resultSet = new NBi.Core.ResultSet.ResultSet(); resultSet.Load("aaaa;10"); var transformation = Mock.Of <ITransformationInfo> ( t => t.Language == LanguageType.CSharp && t.OriginalType == NBi.Core.ResultSet.ColumnType.Text && t.Code == "value.Substring(0,1)" ); var provider = new TransformationProvider(); provider.Add(new ColumnOrdinalIdentifier(0), transformation); provider.Transform(resultSet); Assert.That(resultSet.Rows[0][0], Is.EqualTo("a")); }
public void Transform_NativeTranformationTrim_Correct() { var resultSet = new NBi.Core.ResultSet.ResultSet(); resultSet.Load(" aaaa ;10"); var transformation = Mock.Of <ITransformationInfo> ( t => t.Language == LanguageType.Native && t.OriginalType == NBi.Core.ResultSet.ColumnType.Text && t.Code == "text-to-trim" ); var provider = new TransformationProvider(); provider.Add(0, transformation); provider.Transform(resultSet); Assert.That(resultSet.Rows[0][0], Is.EqualTo("aaaa")); }
public void Transform_TypeSwitch_Correct() { var resultSet = new NBi.Core.ResultSet.ResultSet(); var obj = new object[] { new DateTime(2016, 10, 1) }; resultSet.Load(Enumerable.Repeat(obj, 1)); var transformation = Mock.Of <ITransformationInfo> ( t => t.Language == LanguageType.CSharp && t.OriginalType == NBi.Core.ResultSet.ColumnType.DateTime && t.Code == "value.Month + (value.Year-2000)*12" ); var provider = new TransformationProvider(); provider.Add(new ColumnOrdinalIdentifier(0), transformation); provider.Transform(resultSet); Assert.That(resultSet.Rows[0][0], Is.EqualTo(202)); }
public void Transform_NativeTranformationFirstCharWithContext_Correct() { var resultSet = new NBi.Core.ResultSet.ResultSet(); resultSet.Load(new[] { new object[] { "123456789", 6 }, new object[] { "abcdefgh", 2 } }); var transformation = Mock.Of <ITransformationInfo> ( t => t.Language == LanguageType.Native && t.OriginalType == ColumnType.Text && t.Code == "text-to-first-chars(#1)" ); var provider = new TransformationProvider(new ServiceLocator(), Context.None); provider.Add(new ColumnOrdinalIdentifier(0), transformation); provider.Transform(resultSet); Assert.That(resultSet.Rows[0][0], Is.EqualTo("123456")); Assert.That(resultSet.Rows[1][0], Is.EqualTo("ab")); }
public void Transform_SimpleTranformation_CorrectHandlingOfColumnNames() { var resultSet = new NBi.Core.ResultSet.ResultSet(); resultSet.Load("aaaa;10"); resultSet.Columns[0].ColumnName = "MyCol0"; resultSet.Columns[1].ColumnName = "MyCol1"; var transformation = Mock.Of <ITransformationInfo> ( t => t.Language == LanguageType.CSharp && t.OriginalType == ColumnType.Text && t.Code == "value.Substring(0,1)" ); var provider = new TransformationProvider(new ServiceLocator(), Context.None); provider.Add(new ColumnOrdinalIdentifier(0), transformation); provider.Transform(resultSet); Assert.That(resultSet.Columns[0].ColumnName, Is.EqualTo("MyCol0")); Assert.That(resultSet.Columns[1].ColumnName, Is.EqualTo("MyCol1")); Assert.That(resultSet.Columns.Count, Is.EqualTo(2)); }