public void Register_DerivedPropertyExpression() { var anon = new AnonymousData(); var value = anon.Any <string>(); anon.Register((DerivedModel m) => m.Unset, _ => value); var result = anon.Any <DerivedModel>(PopulateOption.Deep); Assert.Same(value, result.Unset); }
public void Register_PropertyExpression() { var anon = new AnonymousData(); var model = anon.Any <Model>(); anon.Register((DeepModel m) => m.Model, a => model); var result = anon.Any <DeepModel>(PopulateOption.Deep); Assert.Same(model, result.Model); }
public void AnyCustomCollectionCreatesItems() { var anon = new AnonymousData(); var result = anon.Any <CustomCollection>(); Assert.True(result.Any()); }
public void AnyListCreatesItems() { var anon = new AnonymousData(); var result = anon.Any <List <int> >(); Assert.NotNull(result); }
public void Any_ListOfType() { var anon = new AnonymousData(); var result = (List <Model>)anon.Any(typeof(List <Model>)); Assert.NotNull(result); }
public void AnyIAnonymousDataReturnsSelf() { var anon = new AnonymousData(); var result = anon.Any <IAnonymousData>(); Assert.Same(anon, result); }
public void Any_ConcreteTypeNotRegistered() { var anon = new AnonymousData(); var result = (Model)anon.Any(typeof(Model)); Assert.NotNull(result); }
public void Any_TupleIntString() { var anon = new AnonymousData(); var result = (Tuple <int, string>)anon.Any(typeof(Tuple <int, string>)); Assert.NotNull(result); }
public void AnyIEnumerableCreatesItems() { var anon = new AnonymousData(); var result = anon.Any <IEnumerable <int> >(); Assert.NotNull(result); }
public void Any_EnumerableOfType() { var anon = new AnonymousData(); var result = (IEnumerable <Model>)anon.Any(typeof(IEnumerable <Model>)); Assert.NotNull(result); }
public void Any_ArrayOfType() { var anon = new AnonymousData(); var result = (Model[])anon.Any(typeof(Model[])); Assert.NotNull(result); }
public void AnyType() { var anon = new AnonymousData(); var result = anon.Any(typeof(IAnonymousData)); Assert.Same(anon, result); }
public void Any_ModelList() { var anon = new AnonymousData(); var result = (ModelList)anon.Any(typeof(ModelList)); Assert.NotNull(result); }
public void FreezeValue() { var anon = new AnonymousData(); anon.Freeze(42); var result = anon.Any <int>(); Assert.Equal(42, result); }
public void RegisterDefault() { var anon = new AnonymousData(); // Registration happens in the class fixture AnonymousDataTestsFixture. var result = anon.Any <AnonymousDataTestsFixture.GloballyRegisteredModel>(); Assert.Equal("xyzzy", result.Value); }
public void Register() { var anon = new AnonymousData(); anon.Register <IModel>(f => new Model()); var result = (IModel)anon.Any(typeof(IModel)); Assert.NotNull(result); }
public void Any_PopulateShallow_ShouldPopulateFirstLevel() { var anon = new AnonymousData(); var result = anon.Any <DeepModel>(PopulateOption.Shallow); Assert.NotNull(result); Assert.NotNull(result.Model); Assert.Equal(result.Model.Value, nameof(Model)); }
public void Customize() { var anon = new AnonymousData(); anon.Customize(new Customization()); var result = (IModel)anon.Any(typeof(IModel)); Assert.NotNull(result); }
public void Any_Predicate_ShouldEnsurePredicate() { var anon = new AnonymousData(); bool Predicate(int i) => (i % 2) == 0; var result = anon.Any <int>(Predicate); Assert.True(Predicate(result)); }
public void SetMinMaxItemsConstrainsSize() { var anon = new AnonymousData(); anon.SetMinimumItemCount(2); anon.SetMaximumItemCount(2); var result = anon.Any <List <int> >(); Assert.Equal(2, result.Count); }
public void Any_Populate_ShouldPopulateFirstLevel() { var anon = new AnonymousData(); var result = anon.Any <DeepModel>(); anon.Populate(result); Assert.NotNull(result); Assert.NotNull(result.Model); Assert.Equal(nameof(Model), result.Model.Value); }
public void Any_PopulateDeepWithCollections_ShouldPopulateCollections() { var anon = new AnonymousData(); var result = anon.Any <DeepModelWithCollection>(PopulateOption.Deep); Assert.NotNull(result); Assert.NotEmpty(result.ReadOnlyNames); Assert.NotEmpty(result.InitializedNames); Assert.NotEmpty(result.UninitializedNames); Assert.NotEmpty(result.Dictionary); }
public void AnyOfChar() { var anon = new AnonymousData(); var classifier = new Classifier <char>(); classifier.AddClassification("GT", d => d > (char.MaxValue / 2)); classifier.AddClassification("LT", d => d < (char.MaxValue / 2)); classifier.Classify(() => anon.Any <char>()); Assert.True(classifier["GT"] > 0.4); Assert.True(classifier["LT"] > 0.4); }
public void AnyOfInt16() { var anon = new AnonymousData(); var classifier = new Classifier <short>(); classifier.AddClassification("GT", d => d > 0); classifier.AddClassification("LT", d => d < 0); classifier.Classify(() => anon.Any <short>()); Assert.True(classifier["GT"] > 0.4); Assert.True(classifier["LT"] > 0.4); }
public void AnyOfDateTimeOffset() { var anon = new AnonymousData(); var classifier = new Classifier <DateTimeOffset>(); classifier.AddClassification("GT", d => d.Ticks > (DateTimeOffset.MaxValue.Ticks / 2)); classifier.AddClassification("LT", d => d.Ticks < (DateTimeOffset.MaxValue.Ticks / 2)); classifier.Classify(() => anon.Any <DateTimeOffset>()); Assert.True(classifier["GT"] > 0.4); Assert.True(classifier["LT"] > 0.4); }
public void Any_Double() { var anon = new AnonymousData(); var classifier = new Classifier <double>(); classifier.AddClassification("GT", d => d > 0); classifier.AddClassification("LT", d => d < 0); classifier.Classify(() => (double)anon.Any(typeof(double))); Assert.True(classifier["GT"] > 0.4); Assert.True(classifier["LT"] > 0.4); }
public void TestAnyOfBool() { var anon = new AnonymousData(); var classifier = new Classifier <bool>(); classifier.AddClassification("true", b => b); classifier.AddClassification("false", b => !b); classifier.Classify(() => anon.Any <bool>()); Assert.True(classifier["true"] > 0.4); Assert.True(classifier["false"] > 0.4); }
public void Any_PopulateDeep_ShouldPopulateAllLevels() { var anon = new AnonymousData(); anon.Freeze("xyzzy"); var result = anon.Any <DeepModel>(PopulateOption.Deep); Assert.NotNull(result); Assert.NotNull(result.Model); Assert.Equal("Model", result.Model.Value); Assert.Equal("xyzzy", result.Model.Unset); Assert.True(result.Model.PrimitiveWasSet); }
public void AnyUnregisteredInterfaceShouldThrow() { var anon = new AnonymousData(); try { anon.Any <INotifyPropertyChanged>(); } catch (AnonymousDataException e) { Assert.Equal(typeof(INotifyPropertyChanged), e.AnonymousType); return; } Assertions.Fail("Any did not throw."); }
public void AnyOfTimeSpan() { var anon = new AnonymousData(); var mid = new TimeSpan(0); var classifier = new Classifier <TimeSpan>(); classifier.AddClassification("GT", d => d > mid); classifier.AddClassification("LT", d => d < mid); classifier.Classify(() => anon.Any <TimeSpan>()); AssertAll( "Distribution of values was not uniform.", () => Assert(classifier["GT"] > 0.4).IsTrue($"Roughly half the generated values should be greater than {mid}. Actual: {classifier["GT"]}."), () => Assert(classifier["LT"] > 0.4).IsTrue($"Roughly half the generated values should be less than {mid}. Actual: {classifier["LT"]}.")); }