How to use DefaultConfiguration class of com.tngtech.jgiven.config package

Best JGiven code snippet using com.tngtech.jgiven.config.DefaultConfiguration

Source:MockScenarioModelBuilder.java Github

copy

Full Screen

...9import com.tngtech.jgiven.annotation.*;10import com.tngtech.jgiven.attachment.Attachment;11import com.tngtech.jgiven.config.AbstractJGivenConfiguration;12import com.tngtech.jgiven.config.ConfigurationUtil;13import com.tngtech.jgiven.config.DefaultConfiguration;14import com.tngtech.jgiven.config.TagConfiguration;15import com.tngtech.jgiven.exception.JGivenWrongUsageException;16import com.tngtech.jgiven.format.ObjectFormatter;17import com.tngtech.jgiven.impl.Config;18import com.tngtech.jgiven.impl.ScenarioModelBuilder;19import com.tngtech.jgiven.impl.util.AssertionUtil;20import com.tngtech.jgiven.impl.util.WordUtil;21import com.tngtech.jgiven.report.model.*;22import xyz.multicatch.mockgiven.core.annotations.as.AsProviderFactory;23import xyz.multicatch.mockgiven.core.annotations.caseas.CaseAsFactory;24import xyz.multicatch.mockgiven.core.annotations.caseas.CaseAsProviderFactory;25import xyz.multicatch.mockgiven.core.annotations.description.AnnotatedDescriptionFactory;26import xyz.multicatch.mockgiven.core.annotations.description.DescriptionData;27import xyz.multicatch.mockgiven.core.annotations.description.DescriptionQueue;28import xyz.multicatch.mockgiven.core.annotations.description.InlineWithNext;29import xyz.multicatch.mockgiven.core.annotations.tag.AnnotationTagExtractor;30import xyz.multicatch.mockgiven.core.annotations.tag.AnnotationTagUtils;31import xyz.multicatch.mockgiven.core.resources.TextResourceProvider;32import xyz.multicatch.mockgiven.core.scenario.cases.CaseDescription;33import xyz.multicatch.mockgiven.core.scenario.cases.CaseDescriptionFactory;34import xyz.multicatch.mockgiven.core.scenario.cases.ExtendedScenarioCaseModel;35import xyz.multicatch.mockgiven.core.scenario.methods.DescriptionFactory;36import xyz.multicatch.mockgiven.core.scenario.methods.arguments.ArgumentUtils;37import xyz.multicatch.mockgiven.core.scenario.methods.arguments.ParameterFormatterFactory;38import xyz.multicatch.mockgiven.core.scenario.methods.arguments.ParameterFormatterUtils;39import xyz.multicatch.mockgiven.core.scenario.state.CurrentScenarioState;40import xyz.multicatch.mockgiven.core.scenario.steps.ExtendedStepModel;41import xyz.multicatch.mockgiven.core.scenario.steps.StepCommentFactory;42import xyz.multicatch.mockgiven.core.scenario.steps.StepModelFactory;43import xyz.multicatch.mockgiven.core.utils.ExceptionUtils;44public class MockScenarioModelBuilder extends ScenarioModelBuilder {45 private static final Set<String> STACK_TRACE_FILTER = ImmutableSet46 .of("sun.reflect", "com.tngtech.jgiven.impl.intercept", "com.tngtech.jgiven.impl.intercept", "$$EnhancerByCGLIB$$",47 "java.lang.reflect", "net.sf.cglib.proxy", "com.sun.proxy");48 private static final boolean FILTER_STACK_TRACE = Config.config()49 .filterStackTrace();50 private final Stack<ExtendedStepModel> parentSteps = new Stack<>();51 private final CurrentScenarioState currentScenarioState;52 private final StepCommentFactory stepCommentFactory;53 private final DescriptionFactory descriptionFactory;54 private final CaseDescriptionFactory caseDescriptionFactory;55 private final DescriptionQueue descriptionQueue;56 private AbstractJGivenConfiguration configuration;57 private StepModelFactory stepModelFactory;58 private AnnotationTagExtractor annotationTagExtractor;59 private ParameterFormatterFactory formatterFactory;60 private ExtendedScenarioModel scenarioModel;61 private ExtendedScenarioCaseModel scenarioCaseModel;62 private ExtendedStepModel currentStep;63 private Word introWord;64 private long scenarioStartedNanos;65 private ReportModel reportModel;66 public MockScenarioModelBuilder(CurrentScenarioState currentScenarioState, TextResourceProvider textResourceProvider) {67 this.currentScenarioState = currentScenarioState;68 this.stepCommentFactory = new StepCommentFactory();69 this.descriptionFactory = new DescriptionFactory(new AsProviderFactory(), new AnnotatedDescriptionFactory(), textResourceProvider);70 this.caseDescriptionFactory = new CaseDescriptionFactory(new CaseAsFactory(), new CaseAsProviderFactory());71 this.descriptionQueue = new DescriptionQueue();72 this.configuration = new DefaultConfiguration();73 initializeDependentOnConfiguration();74 }75 public MockScenarioModelBuilder(76 CurrentScenarioState currentScenarioState,77 StepCommentFactory stepCommentFactory,78 DescriptionFactory descriptionFactory,79 CaseDescriptionFactory caseDescriptionFactory,80 DescriptionQueue descriptionQueue81 ) {82 this.currentScenarioState = currentScenarioState;83 this.stepCommentFactory = stepCommentFactory;84 this.descriptionFactory = descriptionFactory;85 this.caseDescriptionFactory = caseDescriptionFactory;86 this.descriptionQueue = descriptionQueue;87 this.configuration = new DefaultConfiguration();88 initializeDependentOnConfiguration();89 }90 private void initializeDependentOnConfiguration() {91 formatterFactory = new ParameterFormatterFactory(configuration);92 stepModelFactory = new StepModelFactory(currentScenarioState, formatterFactory, descriptionFactory);93 annotationTagExtractor = AnnotationTagExtractor.forConfig(configuration);94 }95 @Override96 public void scenarioStarted(String description) {97 scenarioStartedNanos = System.nanoTime();98 String readableDescription = description;99 if (description.contains("_")) {100 readableDescription = description.replace('_', ' ');101 } else if (!description.contains(" ")) {...

Full Screen

Full Screen

Source:FieldBasedRowFormatter.java Github

copy

Full Screen

...12import com.google.common.collect.Sets;13import com.tngtech.jgiven.annotation.NamedFormat;14import com.tngtech.jgiven.annotation.NamedFormats;15import com.tngtech.jgiven.annotation.Table;16import com.tngtech.jgiven.config.DefaultConfiguration;17import com.tngtech.jgiven.config.FormatterConfiguration;18import com.tngtech.jgiven.format.DefaultFormatter;19import com.tngtech.jgiven.format.ObjectFormatter;20import com.tngtech.jgiven.impl.format.ParameterFormattingUtil;21import com.tngtech.jgiven.impl.util.ReflectionUtil;22/**23 * Default implementation of the {@link RowFormatter} that uses the fields of an24 * object as columns of the table25 *26 * @See {@link com.tngtech.jgiven.annotation.Table} for details<br>27 * {@link NamedFormats} annotation<br>28 */29public class FieldBasedRowFormatter extends RowFormatter {30 private ParameterFormattingUtil pfu = new ParameterFormattingUtil( new DefaultConfiguration() );31 private final Table tableAnnotation;32 private List<Field> fields;33 boolean[] nonNullColumns;34 Map<String, ObjectFormatter<?>> formattersByFieldName;35 public FieldBasedRowFormatter( Class<?> type, String parameterName, Table tableAnnotation,36 Annotation[] annotations ) {37 this.tableAnnotation = tableAnnotation;38 this.fields = getFields( tableAnnotation, type );39 this.nonNullColumns = new boolean[fields.size()];40 this.formattersByFieldName = retrieveFieldsFormatters( tableAnnotation, fields );41 }42 @Override43 public List<String> header() {44 return getFieldNames( fields );...

Full Screen

Full Screen

Source:ConfigurationUtil.java Github

copy

Full Screen

...22 Class<?> testClass) {23 Class<? extends AbstractJGivenConfiguration> configuration = Optional.ofNullable(testClass)24 .map(content -> content.getAnnotation(JGivenConfiguration.class))25 .map(content -> (Class<A>) content.value())26 .orElse((Class<A>) DefaultConfiguration.class);27 try {28 return configurations.get(configuration);29 } catch (ExecutionException e) {30 throw new RuntimeException(e.getCause());31 }32 }33}

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1import com.tngtech.jgiven.config.DefaultConfiguration;2import com.tngtech.jgiven.config.Configuration;3import com.tngtech.jgiven.report.json.JsonReportGenerator;4import com.tngtech.jgiven.report.model.ReportModel;5import com.tngtech.jgiven.report.json.JsonReportGenerator;6import com.tngtech.jgiven.report.ReportGenerator;7import com.tngtech.jgiven.report.ReportGenerator;8import com.tngtech.jgiven.report.model.ReportModel;9import com.tngtech.jgiven.report.ReportGenerator;10import com.tngtech.jgiven.report.ReportGenerator;11import com.tngtech.jgiven.report.model.ReportModel;12import com.tngtech.jgiven.report.ReportGenerator;13import com.tngtech.jgiven.report.ReportGenerator;14import com.tngtech.jgiven.report.model.ReportModel;15import com.tngtech.jgiven.report.ReportGenerator;16import com.tngtech.jgiven.report.ReportGenerator;17import com.tngtech.jgiven.report.model.ReportModel;18import com.tngtech.jgiven.report.ReportGenerator;19import com.tngtech.jgiven.report.ReportGenerator;20import com.tngtech.jgiven.report.model.ReportModel;21import com.tngtech.jgiven.report.ReportGenerator;22import com.tngtech.jgiven.report.ReportGenerator;23import com.tngtech.jgiven.report.model.ReportModel;24import com.tngtech.jgiven.report.ReportGenerator;25import com.tngtech.jgiven.report.ReportGenerator;26import com.tngtech.jgiven.report.model.ReportModel;27import com.tngtech.jgiven.report.ReportGenerator;28import com.tngtech.jgiven.report.ReportGenerator;29import com.tngtech.jgiven.report.model.ReportModel;30import com.tngtech.jgiven.report.ReportGenerator;31import com.tngtech.jgiven.report.ReportGenerator;32import com.tngtech.jgiven.report.model.ReportModel;33import com.tngtech.jgiven.report.ReportGenerator;34import com.tngtech.jgiven.report.ReportGenerator;35import com.tngtech.jgiven.report.model.ReportModel;36import com.tngtech.jgiven.report.ReportGenerator;37import com.tngtech.jgiven.report.ReportGenerator;38import com.tngtech.jgiven.report.model.ReportModel;39import com.tngtech.jgiven.report.ReportGenerator;40import com.tngtech.jgiven.report.ReportGenerator;41import com.tngtech.jgiven.report.model.ReportModel;42import com.tngtech.jgiven.report.ReportGenerator;43import com.tngtech.jgiven.report.ReportGenerator;44import com.tngtech.jgiven.report.model

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1import com.tngtech.jgiven.config.DefaultConfiguration;2import com.tngtech.jgiven.config.Configuration;3import com.tngtech.jgiven.report.ReportGenerator;4import com.tngtech.jgiven.report.ReportGeneratorConfiguration;5import com.tngtech.jgiven.report.html5.Html5ReportGenerator;6import com.tngtech.jgiven.report.text.PlainTextReportGenerator;7import com.tngtech.jgiven.report.text.TextReportGenerator;8import com.tngtech.jgiven.report.xml.XmlReportGenerator;9import com.tngtech.jgiven.report.json.JsonReportGenerator;10import com.tngtech.jgiven.report.model.ReportModel;11import com.tngtech.jgiven.report.model.ReportModelBuilder;12import com.tngtech.jgiven.report.model.ScenarioModel;13import com.tngtech.jgiven.report.model.StepModel;14import com.tngtech.jgiven.report.text.TextReportModelBuilder;15import com.tngtech.jgiven.report.xml.XmlReportModelBuilder;16import com.tngtech.jgiven.report.json.JsonReportModelBuilder;17import com.tngtech.jgiven.report.html5.Html5ReportModelBuilder;18import com.tngtech.jgiven.report.text.TextReportModelBuilder;19import com.tngtech.jgiven.report.xml.XmlReportModelBuilder;20import com.tngtech.jgiven.report.json.JsonReportModelBuilder;21import com.tngtech.jgiven.report.html5.Html5ReportModelBuilder;22import com.tngtech.jgiven.report.text.TextReportModelBuilder;23import com.tngtech.jgiven.report.xml.XmlReportModelBuilder;24import com.tngtech.jgiven.report.json.JsonReportModelBuilder;25import com.tngtech.jgiven.report.html5.Html5ReportModelBuilder;26import com.tngtech.jgiven.report.text.TextReportModelBuilder;27import com.tngtech.jgiven.report.xml.XmlReportModelBuilder;28import com.tngtech.jgiven.report.json.JsonReportModelBuilder;29import com.tngtech.jgiven.report.html5.Html5ReportModelBuilder;30import com.tngtech.jgiven.report.text.TextReportModelBuilder;31import com.tngtech.jgiven.report.xml.XmlReportModelBuilder;32import com.tngtech.jgiven.report.json.JsonReportModelBuilder;33import com.tngtech.jgiven.report.html5.Html5ReportModelBuilder;34import com.tngtech.jgiven.report.text.TextReportModelBuilder;35import com.tngtech.jgiven.report.xml.XmlReportModelBuilder;36import com.tngtech.jgiven.report.json.JsonReportModelBuilder;37import com.t

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1import com.tngtech.jgiven.config.DefaultConfiguration;2import com.tngtech.jgiven.config.Configuration;3import com.tngtech.jgiven.impl.ScenarioModelBuilder;4import com.tngtech.jgiven.report.html5.Html5ReportGenerator;5import com.tngtech.jgiven.report.model.ReportModel;6import com.tngtech.jgiven.report.model.ReportModel.ReportModelBuilder;7import com.tngtech.jgiven.report.model.ReportModel;8import com.tngtech.jgiven.report.model.ReportModel.ReportModelBuilder;9import com.tngtech.jgiven.report.text.PlainTextReportGene

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1package com.tngtech.jgiven.examples;2import java.util.List;3import com.tngtech.jgiven.Stage;4import com.tngtech.jgiven.annotation.ExpectedScenarioState;5import com.tngtech.jgiven.annotation.ScenarioState;6import com.tngtech.jgiven.config.DefaultConfiguration;7import com.tngtech.jgiven.config.JGivenConfiguration;8import com.tngtech.jgiven.report.model.ReportModel;9public class WhenSomeAction extends Stage<WhenSomeAction> {10 String someState;11 List<String> someList;12 public WhenSomeAction some_action() {13 return self();14 }15 public WhenSomeAction some_other_action() {16 return self();17 }18 public WhenSomeAction some_final_action() {19 return self();20 }21 public WhenSomeAction some_action_$_with_argument( int i ) {22 return self();23 }24}25package com.tngtech.jgiven.examples;26import java.util.List;27import com.tngtech.jgiven.Stage;28import com.tngtech.jgiven.annotation.ExpectedScenarioState;29import com.tngtech.jgiven.annotation.ScenarioState;30import com.tngtech.jgiven.config.DefaultConfiguration;31import com.tngtech.jgiven.config.JGivenConfiguration;32import com.tngtech.jgiven.report.model.ReportModel;33public class ThenSomeOutcome extends Stage<ThenSomeOutcome> {34 String someState;35 List<String> someList;36 public ThenSomeOutcome some_outcome() {37 return self();38 }39 public ThenSomeOutcome some_other_outcome() {40 return self();41 }42 public ThenSomeOutcome some_final_outcome() {43 return self();44 }45 public ThenSomeOutcome some_outcome_$_with_argument( int i ) {46 return self();47 }48}49package com.tngtech.jgiven.examples;50import java.util.List;51import com.tngtech.jgiven.Stage;52import com.tngtech.jgiven.annotation.ExpectedScenarioState;53import com.tngtech.jgiven.annotation.ScenarioState;

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1package com.tngtech.jgiven.example;2import com.tngtech.jgiven.annotation.ScenarioStage;3import com.tngtech.jgiven.annotation.Format;4import com.tngtech.jgiven.annotation.Hidden;5import com.tngtech.jgiven.annotation.ProvidedScenarioState;6import com.tngtech.jgiven.annotation.Quoted;7import com.tngtech.jgiven.annotation.Table;8import com.tngtech.jgiven.annotation.TableHeader;9import com.tngtech.jgiven.config.DefaultConfiguration;10import com.tngtech.jgiven.junit.SimpleScenarioTest;11import com.tngtech.jgiven.tags.FeatureHtml5;12import com.tngtech.jgiven.tags.FeatureTextReport;13import org.junit.Test;14import org.junit.experimental.categories.Category;15@Category({FeatureHtml5.class, FeatureTextReport.class})16public class StageTest extends SimpleScenarioTest<StageTest.Stages> {17 public void a_stage_can_be_used_to_add_methods_to_the_scenario() {18 given().a_$_person("John")19 .and().a_$_person("Mary")20 .when().they_are_added_to_the_list()21 .then().the_list_contains_$_persons(2);22 }23 public void a_stage_can_be_used_to_add_methods_to_the_scenario2() {24 given().a_$_person("John")25 .and().a_$_person("Mary")26 .when().they_are_added_to_the_list()27 .then().the_list_contains_$_persons(2);28 }29 public static class Stages {30 String person;31 int personCount;32 ListStage listStage;33 public Stages a_$_person(@Quoted String person) {34 this.person = person;35 return this;36 }37 public Stages they_are_added_to_the_list() {38 listStage.add_person(person);39 return this;40 }41 public Stages the_list_contains_$_persons(int personCount) {42 this.personCount = personCount;43 return this;44 }45 public static class ListStage {46 List<String> list = new ArrayList<String>();47 public void add_person(String person) {48 list.add(person);49 }50 }51 }52}

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1import com.tngtech.jgiven.config.DefaultConfiguration;2import com.tngtech.jgiven.config.AbstractJGivenConfiguration;3public class JGivenConfig extends DefaultConfiguration {4 public static void main(String[] args) {5 AbstractJGivenConfiguration configuration = new JGivenConfig();6 configuration.configure();7 }8}9import com.tngtech.jgiven.config.AbstractJGivenConfiguration;10import com.tngtech.jgiven.config.DefaultConfiguration;11public class JGivenConfig extends DefaultConfiguration {12 public static void main(String[] args) {13 AbstractJGivenConfiguration configuration = new JGivenConfig();14 configuration.configure();15 }16}17import com.tngtech.jgiven.config.AbstractJGivenConfiguration;18import com.tngtech.jgiven.config.DefaultConfiguration;19public class JGivenConfig extends DefaultConfiguration {20 public static void main(String[] args) {21 AbstractJGivenConfiguration configuration = new JGivenConfig();22 configuration.configure();23 }24}25import com.tngtech.jgiven.config.AbstractJGivenConfiguration;26import com.tngtech.jgiven.config.DefaultConfiguration;27public class JGivenConfig extends DefaultConfiguration {28 public static void main(String[] args) {29 AbstractJGivenConfiguration configuration = new JGivenConfig();30 configuration.configure();31 }32}33import com.tngtech.jgiven.config.AbstractJGivenConfiguration;34import com.tngtech.jgiven.config.DefaultConfiguration;35public class JGivenConfig extends DefaultConfiguration {36 public static void main(String[] args) {37 AbstractJGivenConfiguration configuration = new JGivenConfig();38 configuration.configure();39 }40}41import com.tngtech.jgiven.config.AbstractJGivenConfiguration;42import com.tngtech.jgiven.config.DefaultConfiguration;43public class JGivenConfig extends DefaultConfiguration {44 public static void main(String[] args) {45 AbstractJGivenConfiguration configuration = new JGivenConfig();46 configuration.configure();47 }48}49import com.tngtech.jgiven.config.AbstractJGivenConfiguration;50import com.tngtech.jgiven.config.DefaultConfiguration;51public class JGivenConfig extends DefaultConfiguration {52 public static void main(String[] args) {53 AbstractJGivenConfiguration configuration = new JGivenConfig();54 configuration.configure();55 }56}57import

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1import com.tngtech.jgiven.config.DefaultConfiguration;2public class 1 {3 public static void main(String[] args) {4 DefaultConfiguration config = new DefaultConfiguration();5 config.setReportDir("C:\\Users\\sagar\\Desktop\\jgiven-reports");6 config.setReportFormat(ReportFormat.html);7 config.setReportName("jgiven-report");8 config.setReportTitle("JGiven Report");9 config.setReportTags("jgiven,report");10 }11}12import com.tngtech.jgiven.config.DefaultConfiguration;13public class 2 {14 public static void main(String[] args) {15 DefaultConfiguration config = new DefaultConfiguration();16 config.setReportDir("C:\\Users\\sagar\\Desktop\\jgiven-reports");17 config.setReportFormat(ReportFormat.html);18 config.setReportName("jgiven-report");19 config.setReportTitle("JGiven Report");20 config.setReportTags("jgiven,report");21 }22}23import com.tngtech.jgiven.config.DefaultConfiguration;24public class 3 {25 public static void main(String[] args) {26 DefaultConfiguration config = new DefaultConfiguration();27 config.setReportDir("C:\\Users\\sagar\\Desktop\\jgiven-reports");28 config.setReportFormat(ReportFormat.html);29 config.setReportName("jgiven-report");30 config.setReportTitle("JGiven Report");31 config.setReportTags("jgiven,report");32 }33}34import com.tngtech.jgiven.config.DefaultConfiguration;35public class 4 {36 public static void main(String[] args) {37 DefaultConfiguration config = new DefaultConfiguration();38 config.setReportDir("C:\\Users\\sagar\\Desktop\\jgiven-reports");39 config.setReportFormat(ReportFormat.html);40 config.setReportName("jgiven-report");41 config.setReportTitle("JGiven Report");42 config.setReportTags("jgiven,report");43 }44}45import com.tngtech.j

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1DefaultConfiguration config = new DefaultConfiguration();2config.setCaseTitleTemplate( "Case: $caseTitle" );3config.setScenarioTitleTemplate( "Scenario: $scenarioTitle" );4config.setStepTitleTemplate( "Step: $stepTitle" );5config.setCaseTitleTemplate( "Case: $caseTitle" );6config.setCaseTitleTemplate( "Case: $caseTitle" );7config.setCaseTitleTemplate( "Case: $caseTitle" );8JGivenTest test = new JGivenTest( config );9test.run( MyTest.class );

Full Screen

Full Screen

DefaultConfiguration

Using AI Code Generation

copy

Full Screen

1public class DefaultConfigTest extends ScenarioTest<DefaultConfigTest.TestStage> {2 public void testDefaultConfig() {3 given().a_default_configuration();4 when().a_scenario_is_executed();5 then().the_default_configuration_is_used();6 }7 public static class TestStage extends Stage<TestStage> {8 private DefaultConfiguration defaultConfiguration;9 public TestStage a_default_configuration() {10 defaultConfiguration = new DefaultConfiguration();11 return self();12 }13 public TestStage a_scenario_is_executed() {14 return self();15 }16 public TestStage the_default_configuration_is_used() {17 return self();18 }19 }20}21setReportGeneratorClass(Class<?

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run JGiven automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used methods in DefaultConfiguration

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful