public async Task CanCreateBagWithDefaultValues() { var tracker = new BagTracker(); using (var context = CreateContext( commands => commands .Add("c", Track <BagWithDefaultValues>(tracker)) )) { await context.Executor.ExecuteAsync <object>("c", default); tracker.Assert <BagWithDefaultValues>( "c", bag => { Assert.IsFalse(bag.Async); //Assert.IsFalse(bag.CanThrow); Assert.IsFalse(bag.BoolOnly); Assert.IsFalse(bag.BoolWithDefaultValue1); Assert.IsTrue(bag.BoolWithDefaultValue2); Assert.IsNull(bag.StringOnly); Assert.AreEqual("foo", bag.StringWithDefaultValue); Assert.AreEqual(0, bag.Int32Only); Assert.IsNull(bag.NullableInt32Only); Assert.AreEqual(3, bag.Int32WithDefaultValue); Assert.AreEqual(DateTime.MinValue, bag.DateTimeOnly); Assert.IsNull(bag.NullableDateTime); Assert.AreEqual(new DateTime(2018, 1, 1), bag.DateTimeWithDefaultValue); Assert.IsNull(bag.ListOnly); } ); } }
public async Task CanCreateBagWithCommandLineValues() { var tracker = new BagTracker(); using (var context = CreateContext( commands => commands .Add("c", Track <BagWithMappedValues>(tracker)) )) { await context.Executor.ExecuteAsync <object>("c", default); tracker.Assert <BagWithMappedValues>( "c", bag => { } ); } }
public async Task CanMapParameterByPosition() { var tracker = new BagTracker(); using (var context = CreateContext( commands => commands.Add("c", Track <BagWithPositionalValues>(tracker)), (ExecuteExceptionCallback)(ex => throw ex) )) { await context.Executor.ExecuteAsync <object>("c 3 kmh -ismetric", default); tracker.Assert <BagWithPositionalValues>("c", bag => { Assert.AreEqual(3, bag.Speed); Assert.AreEqual("kmh", bag.Unit); Assert.AreEqual(true, bag.IsMetric); }); } }
public async Task CanCreateBagWithFlagValues() { var tracker = new BagTracker(); using (var context = CreateContext( commands => commands .Add("c", Track <SimpleBag>(tracker)) )) { await context.Executor.ExecuteAsync <object>("c -async -canthrow=true", default); tracker.Assert <SimpleBag>( "c", bag => { Assert.IsTrue(bag.Async); //Assert.IsTrue(bag.CanThrow); } ); } }
public async Task CanMapParameterByAlias() { var tracker = new BagTracker(); using (var context = CreateContext( commands => commands .Add("c", Track <BagWithAliases>(tracker)) )) { await context.Executor.ExecuteAsync <object>("c -swa=abc", default); tracker.Assert <BagWithAliases>( "c", bag => { Assert.IsFalse(bag.Async); //Assert.IsFalse(bag.CanThrow); Assert.AreEqual("abc", bag.StringWithAlias); } ); } }