public TestEnvironment() { UserSecrets = new MemoryRepository <UserSecret>(new[] { new UserSecret { Id = "user01" }, new UserSecret { Id = "user03" } }); RealtimeService = new SFMemoryRealtimeService(); ParatextService = Substitute.For <IParatextService>(); ParatextService.GetParatextUsername(Arg.Is <UserSecret>(u => u.Id == "user01")).Returns("PT User 1"); ParatextService.GetParatextUsername(Arg.Is <UserSecret>(u => u.Id == "user03")).Returns("PT User 3"); var options = Microsoft.Extensions.Options.Options.Create(new LocalizationOptions { ResourcesPath = "Resources" }); var factory = new ResourceManagerStringLocalizerFactory(options, NullLoggerFactory.Instance); Localizer = new StringLocalizer <SharedResource>(factory); var siteOptions = Substitute.For <IOptions <SiteOptions> >(); siteOptions.Value.Returns(new SiteOptions { Name = "xForge", }); Mapper = new ParatextNotesMapper(UserSecrets, ParatextService, Localizer, siteOptions); }
public async Task InsertTest() { MemoryRepository repository = new MemoryRepository(); IEnumerable <Employee> employeeList = await repository.GetAll(); Assert.AreEqual(employeeList.Count(), 0); await repository.Insert(new Employee { Id = 1, FirstName = "Employee 1", LastName = "Employee 1", Email = "Email 1" }); employeeList = await repository.GetAll(); Assert.AreEqual(employeeList.Count(), 1); await repository.Insert(new Employee { Id = 2, FirstName = "Employee 2", LastName = "Employee 2", Email = "Email 2" }); employeeList = await repository.GetAll(); Assert.AreEqual(employeeList.Count(), 2); await repository.DeleteAll(); employeeList = await repository.GetAll(); Assert.AreEqual(employeeList.Count(), 0); }
public StubDataCustomerRepository(MemoryRepository <Customer> memRepository) { this._memRepository = memRepository; _memRepository.Add(Customer.Create(1, "William Han")); _memRepository.Add(Customer.Create(2, "Martin Fowler")); _memRepository.Add(Customer.Create(3, "Uncle Bob")); }
public void should_create_unique_admin_user() { var userRepository = new MemoryRepository<User>(); var userCreationService = new UserCreateService(userRepository); var user = userCreationService.Create(Username, Password, Email, true, ""); user.Administrator.ShouldBeTrue(); }
public void Constructors() { using (var repository = new MemoryRepository<TestEntity>()) { Assert.False(repository.Any()); } }
public static MemoryRepository<Post> GetPostsRepository() { var postsRepository = new MemoryRepository<Post>(); var users = GetUsersRepository(); var threads = GetThreadsRepository(); for (int i = 0; i < 20; i++) { var thread = threads.GetById(i % 5); var user = users.GetById("id" + i % 10); var post = new Post { Content = "content" + i, Id = i, PostDate = new DateTime(2015, 11, i + 1), ThreadId = thread.Id, Thread = thread, UserId = user.Id, User = user }; postsRepository.Add(post); } return postsRepository; }
public void EventReplayingOnStartUp( List <SomeEvent> eventStore, IRepository <string, SomeData> repository, View view, ISequenceResolver sequenceResolver, IEventResolver eventResolver, IViewManager viewManager) { "Given an event store with three events"._(() => eventStore = new List <SomeEvent> { new SomeEvent { Sequence = 1, Id = "test" }, new SomeEvent { Sequence = 2, Id = "test2" }, new SomeEvent { Sequence = 3, Id = "test3" }, }); "and a view repository"._(() => repository = new MemoryRepository <string, SomeData>()); "and a view"._(() => view = new SomeView(repository)); "and a sequence resolver"._(() => sequenceResolver = new CustomSequenceResolver()); "and an event resolver"._(() => eventResolver = new CustomEventResolver(eventStore)); "when a view manager is created"._(ctx => viewManager = ViewManager.ForViews(view) .OrderEventsUsing(sequenceResolver).StartAtSequenceNumber(0) .ResolveMissingEventsUsing(eventResolver).WithATimeoutOf(Timeout.Infinite) .Create().Using(ctx)); "and the operation is given time to process"._(() => Thread.Sleep(1000)); "then the view received the third event last"._(() => repository.Get("root").LastEventId.Should().Be(eventStore[2].Id)); "and the view received three events"._(() => repository.Get("root").EventCount.Should().Be(3)); }
public MemorySellUnitOfWork() { customerRepository = new MemoryRepository <Customer>(); employeeRepository = new MemoryRepository <Employee>(); orderRepository = new MemoryRepository <Order>(); productRepository = new MemoryRepository <Product>(); }
/// <summary> /// Optional repository for tracking the objects relationship to other <see cref="SpontaneousObject"/> /// </summary> /// <param name="repository"></param> protected SpontaneousObject(MemoryRepository repository) { if (repository != null) { repository.InsertAndHydrate(this, new Dictionary <string, object>()); } }
public void should_not_indicate_new_install_flag_when_there_are_users() { var userRepository = new MemoryRepository<User>(new User()); var handler = new PublicGetHandler(userRepository); var model = handler.Execute(); model.IsNewInstall.ShouldBeFalse(); }
public void CanSnapshotSingleViewDuringDispatch() { var repository = new TestRepository(); var views = new View[] { new SomeView(repository) }; var snapshotRepository = new MemoryRepository <string, Snapshot>(); var firstEvent = new SomeEvent { Id = "test" }; var secondEvent = new SomeEvent { Id = "test2" }; using (var snapshotManager = new SnapshotManager(views, snapshotRepository, 20)) { snapshotManager.Dispatch(new Event { SequenceNumber = 1, Payload = firstEvent }); // act var preSnapshotEvent = repository.Get(secondEvent.Id); repository.WaitUntilSnapshotSaveStarted(); repository.WaitUntilSnapshotSaveEnded(); snapshotManager.Dispatch(new Event { SequenceNumber = 2, Payload = secondEvent }); repository.WaitUntilSnapshotSaveEnded(); var postSnapshotEvent = repository.Get(secondEvent.Id); // assert preSnapshotEvent.Should().BeNull(); postSnapshotEvent.Should().Be(secondEvent); } }
private MemoryDataContext CreateMockdataContext() { var docs = new MemoryRepository <Document>(); var repos = new MemoryRepository <Repository>(); var orgs = new MemoryRepository <Organization>(); var users = new MemoryRepository <User>(); var newOrg = new Organization() { Created = DateTime.UtcNow, Updated = DateTime.UtcNow, Name = "Test Org", }; orgs.Add(newOrg); var repoData = new MemoryMetadata() { HasPassword = true, Password = "******", RootDirectory = @"C:\Users\alija\Documents\Programming\Test%20Project" }; var newRepo = new Repository() { Name = "Test Repo", OrganizationId = newOrg.Id, SCM = SupportedSystems.Memory, CustomRepositoryInformation = JsonConvert.SerializeObject(repoData) }; repos.Add(newRepo); return(new MemoryDataContext(docs, orgs, repos, users)); }
public TestEnvironment() { IServiceProvider serviceProvider = Substitute.For <IServiceProvider>(); RealtimeService = new SFMemoryRealtimeService(); ParatextService = Substitute.For <IParatextService>(); var userSecrets = new MemoryRepository <UserSecret>(new[] { new UserSecret { Id = "user01", ParatextTokens = new Tokens { AccessToken = CreateAccessToken(DateTime.Now), RefreshToken = "test_refresh_token1" } }, new UserSecret { Id = "user03", ParatextTokens = new Tokens { AccessToken = CreateAccessToken(DateTime.Now), RefreshToken = "test_refresh_token2" } } }); SetupSFData(true, true); ParatextSyncRunner = Substitute.For <IParatextSyncRunner>(); Func <IParatextSyncRunner> syncRunnerFactory = () => ParatextSyncRunner; ProgramLogger = Substitute.For <IProgramLogger>(); Service = new SyncAllService(syncRunnerFactory, RealtimeService, ParatextService, userSecrets, ProgramLogger); }
public void GetNotes_WhenNotEmptyRepository_ReturnAllItems() { var repository = new MemoryRepository(); var note1 = new Note { Title = "note1" }; repository.AddNote(note1); var note2 = new Note { Title = "note2" }; repository.AddNote(note2); var note3 = new Note { Title = "note3" }; repository.AddNote(note3); var note4 = new Note { Title = "note4" }; repository.AddNote(note4); var note5 = new Note { Title = "note5" }; repository.AddNote(note5); var list = repository.GetNotes(); Assert.Equal(5, list.Count); }
public void GetNotes_WhenEmptyRepository_ReturnEmptyList() { var repository = new MemoryRepository(); var list = repository.GetNotes(); Assert.Empty(list); }
public void Add_WhenAddNote_ReturnNewId() { var repository = new MemoryRepository(); var note1 = new Note { Title = "note1" }; repository.AddNote(note1); Assert.Equal(1, note1.Id); var note2 = new Note { Title = "note2" }; repository.AddNote(note2); Assert.Equal(2, note2.Id); var note3 = new Note { Title = "note3" }; repository.AddNote(note3); Assert.Equal(3, note3.Id); var note4 = new Note { Title = "note4" }; repository.AddNote(note4); Assert.Equal(4, note4.Id); var note5 = new Note { Title = "note5" }; repository.AddNote(note5); Assert.Equal(5, note5.Id); }
public void DispatchingEventsInTheWrongOrderWithANonZeroStartingSequenceNumber( IRepository <string, SomeData> repository, View view, ISequenceResolver sequenceResolver, IViewManager viewManager, SomeEvent firstEvent, SomeEvent secondEvent) { "Given a view repository"._(() => repository = new MemoryRepository <string, SomeData>()); "and a view"._(() => view = new SomeView(repository)); "and a sequence resolver"._(() => sequenceResolver = new CustomSequenceResolver()); "and a view manager"._(ctx => viewManager = ViewManager.ForViews(view).OrderEventsUsing(sequenceResolver).StartAtSequenceNumber(2).Create().Using(ctx)); "and a first event"._(() => firstEvent = new SomeEvent { Sequence = 2, Id = "test2" }); "and a second event"._(() => secondEvent = new SomeEvent { Sequence = 3, Id = "test3" }); "when those events are dispatched out of order"._( () => { viewManager.QueueForDispatch(secondEvent); viewManager.QueueForDispatch(firstEvent); }); "and the operation is given time to process"._(() => Thread.Sleep(1000)); "then the view received the second event last"._(() => repository.Get("root").LastEventId.Should().Be(secondEvent.Id)); "and the view received two events"._(() => repository.Get("root").EventCount.Should().Be(1)); }
public static void AddExpensesRepository(this IServiceCollection services) { var today = DateTime.Today; var lastMonth = DateTime.Today.AddMonths(-1); var previousMonth = DateTime.Today.AddMonths(-2); var expensesRepository = new MemoryRepository <Expense>(); expensesRepository.Add(new Expense { Date = new DateTime(previousMonth.Year, previousMonth.Month, 8), Amount = 1050, Category = ExpenseCategory.Housing, Subject = "Rent" }); expensesRepository.Add(new Expense { Date = new DateTime(previousMonth.Year, previousMonth.Month, 18), Amount = 140, Category = ExpenseCategory.Education, Subject = "Books" }); expensesRepository.Add(new Expense { Date = new DateTime(lastMonth.Year, lastMonth.Month, 6), Amount = 1050, Category = ExpenseCategory.Housing, Subject = "Rent" }); expensesRepository.Add(new Expense { Date = new DateTime(lastMonth.Year, lastMonth.Month, 15), Amount = 415, Category = ExpenseCategory.Healthcare, Subject = "H-Care" }); expensesRepository.Add(new Expense { Date = new DateTime(lastMonth.Year, lastMonth.Month, 27), Amount = 76, Category = ExpenseCategory.Entertainment, Subject = "Harry Potter Series" }); expensesRepository.Add(new Expense { Date = new DateTime(today.Year, today.Month, 7), Amount = 1050, Category = ExpenseCategory.Housing, Subject = "Rent" }); expensesRepository.Add(new Expense { Date = new DateTime(today.Year, today.Month, 13), Amount = 870, Category = ExpenseCategory.Entertainment, Subject = "New TV" }); services.AddSingleton <IRepository <Expense> >(expensesRepository); }
public void ReadLast_WhenCalled_ReturnClockInOutObject() { var memoryRepository = new MemoryRepository(); var date = DateTime.Now; var clockInOut = new ClockInOut { UserId = 1, Date = date, Type = ClockType.In }; var clockInOutLast = new ClockInOut { UserId = 1, Date = date, Type = ClockType.Out }; memoryRepository.Write(clockInOut); memoryRepository.Write(clockInOut); memoryRepository.Write(clockInOutLast); var result1 = memoryRepository.ReadLast(1); var result2 = memoryRepository.ReadLast(2); result1.Should().NotBeNull(); result1.Type.Should().Equals(ClockType.Out); result2.Should().BeNull(); }
public static void AddEarningsRepository(this IServiceCollection services) { var today = DateTime.Today; var lastMonth = DateTime.Today.AddMonths(-1); var previousMonth = DateTime.Today.AddMonths(-2); var earningRepository = new MemoryRepository <Earning>(); earningRepository.Add(new Earning { Date = new DateTime(previousMonth.Year, previousMonth.Month, 25), Amount = 2480, Category = EarningCategory.Salary, Subject = "Monthly Salary" }); earningRepository.Add(new Earning { Date = new DateTime(previousMonth.Year, previousMonth.Month, 12), Amount = 440, Category = EarningCategory.Freelancing, Subject = "Freelancing Client A" }); earningRepository.Add(new Earning { Date = new DateTime(lastMonth.Year, lastMonth.Month, 25), Amount = 2480, Category = EarningCategory.Salary, Subject = "Monthly Salary" }); earningRepository.Add(new Earning { Date = new DateTime(lastMonth.Year, lastMonth.Month, 12), Amount = 790, Category = EarningCategory.Freelancing, Subject = "Freelancing Client A" }); earningRepository.Add(new Earning { Date = new DateTime(lastMonth.Year, lastMonth.Month, 4), Amount = 387, Category = EarningCategory.CapitalGain, Subject = "ETF Dividends" }); earningRepository.Add(new Earning { Date = new DateTime(today.Year, today.Month, 25), Amount = 2480, Category = EarningCategory.Salary, Subject = "Monthly Salary" }); earningRepository.Add(new Earning { Date = new DateTime(today.Year, today.Month, 14), Amount = 680, Category = EarningCategory.Freelancing, Subject = "Freelancing Client A" }); earningRepository.Add(new Earning { Date = new DateTime(today.Year, today.Month, 12), Amount = 245, Category = EarningCategory.Flipping, Subject = "Old TV" }); services.AddSingleton <IRepository <Earning> >(earningRepository); }
public async void Add_ModifiedViaNewInstance_ShouldUpdateOriginal() { // Arrange string oldValue = "Old Value"; string newValue = "New Value"; Guid entityId = Guid.NewGuid(); IRepositoryWithGuidKey <FakeEntity> repository = new MemoryRepository <FakeEntity>(); FakeEntity originalEntity = new FakeEntity { EntityId = entityId, Value = oldValue }; FakeEntity modifiedEntity = new FakeEntity { EntityId = entityId, Value = newValue }; // Act bool result = await repository.SaveAsync(originalEntity); result = result && await repository.SaveAsync(modifiedEntity); // Assert Assert.True(result); Assert.NotSame(originalEntity, modifiedEntity); Assert.Equal(originalEntity.Value, modifiedEntity.Value); }
public void MemoryRepository_should_support_filters_in_LoadWith_expressions() { IRepository repository = new MemoryRepository(new CoreTestsMappingSourceManager()); ClassA entityA = new ClassA(); repository.Insert(entityA); repository.Insert(new ClassB() { ClassAId = entityA.Id, Name = "B1" }); repository.Insert(new ClassB() { ClassAId = entityA.Id, Name = "B2" }); repository.Insert(new ClassB() { ClassAId = entityA.Id, Name = "B3" }); LoadOptions options = new LoadOptions(); options.LoadWith <ClassA>(a => a.ClassBs.Where(b => b.Name == "B1" || b.Name == "B2")); var selected = repository.All <ClassA>(options).SingleOrDefault(); Assert.IsNotNull(selected); Assert.IsNotNull(selected.ClassBs); Assert.AreEqual(2, selected.ClassBs.Count); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddAutoMapper(); var memoryRepository = new MemoryRepository <Employee>(); SetupEmployees().ForEach(employee => memoryRepository.Save(employee.Id, employee)); services.AddSingleton <IRepository <Employee> >(memoryRepository); services.AddTransient <IEmployeeService, EmployeeService>(); services.AddTransient <IQuoteService, QuoteService>(); services.AddTransient <IRuleEvaluator, DiscountCalculator>(); /* Rules Registration */ services.AddTransient(r => new NameStartingWithTheLetterA(1000, 500, (decimal).1)); services.AddTransient <Func <string, IDiscountRule[]> >(serviceProvider => key => { switch (key) { case "NameStartingWithTheLetterA": return(new[] { serviceProvider.GetService <NameStartingWithTheLetterA>() }); case "All": return(new[] { serviceProvider.GetService <NameStartingWithTheLetterA>() }); default: throw new KeyNotFoundException(); } }); }
public void Load_With_Many_To_One() { IRepository repository = new MemoryRepository(new CoreTestsMappingSourceManager()); ClassA entityA = new ClassA() { }; repository.Insert(entityA); ClassB entityB = new ClassB() { ClassAId = entityA.Id }; repository.Insert(entityB); LoadOptions options = new LoadOptions(); options.LoadWith <ClassB>(b => b.ClassA); var selected = repository.All <ClassB>(options) .Where(b => b.Id == entityB.Id) .SingleOrDefault(); Assert.IsNotNull(selected); Assert.IsNotNull(selected.ClassA); Assert.AreEqual(entityA.Id, selected.ClassA.Id); }
public TestEnvironment() : base("project-users") { Users = new MemoryRepository <UserEntity>(new[] { new UserEntity { Id = "user01" }, new UserEntity { Id = "user02" }, new UserEntity { Id = "user03" } }); ParatextService = Substitute.For <IParatextService>(); var jobs = Substitute.For <IRepository <SyncJobEntity> >(); var engineService = Substitute.For <IEngineService>(); var backgroundJobClient = Substitute.For <IBackgroundJobClient>(); Service = new SFProjectUserService(JsonApiContext, Mapper, UserAccessor, Entities, Users, ParatextService) { ProjectMapper = new SFProjectService(JsonApiContext, Mapper, UserAccessor, Entities, engineService, SiteOptions, new SyncJobManager(jobs, Entities, backgroundJobClient)), UserMapper = new UserService(JsonApiContext, Mapper, UserAccessor, Users, SiteOptions) }; }
private MemoryRepository <T> CreateAndRegisterMemoryRepository <T>() { var repository = new MemoryRepository <T>(); this.RegisterRepository(repository); return(repository); }
private void AddDistributionColumns(QueryBuilder qb) { var repo = new MemoryRepository(); qb.AddColumn(new SpontaneouslyInventedColumn(repo, "CountTotal", "count(1)")); qb.AddColumn(new SpontaneouslyInventedColumn(repo, "CountNull", "SUM(CASE WHEN " + GetColumnSelectSql() + " IS NULL THEN 1 ELSE 0 END)")); qb.AddColumn(new SpontaneouslyInventedColumn(repo, "CountZero", "SUM(CASE WHEN " + GetColumnSelectSql() + " = 0 THEN 1 ELSE 0 END)")); qb.AddColumn(new SpontaneouslyInventedColumn(repo, "Max", "max(" + GetColumnSelectSql() + ")")); qb.AddColumn(new SpontaneouslyInventedColumn(repo, "Min", "min(" + GetColumnSelectSql() + ")")); switch (ColumnInfo.GetQuerySyntaxHelper().DatabaseType) { case DatabaseType.MicrosoftSQLServer: qb.AddColumn(new SpontaneouslyInventedColumn(repo, "stdev ", "stdev(" + GetColumnSelectSql() + ")")); break; case DatabaseType.MySql: case DatabaseType.Oracle: qb.AddColumn(new SpontaneouslyInventedColumn(repo, "stddev ", "stddev(" + GetColumnSelectSql() + ")")); break; default: throw new ArgumentOutOfRangeException(); } qb.AddColumn(new SpontaneouslyInventedColumn(repo, "avg", "avg(" + GetColumnSelectSql() + ")")); }
public void Test_Save() { ClientCandidate candidate = new ClientCandidate(); ClientCandidateWorkProfile workProfile = candidate.WorkProfiles.AddNew(); workProfile.CompanyName = "HirePro"; ClientContact contact = new ClientContact(); candidate.Contact = contact; contact.Address = "277 5th Cross 6th Block Koramangala"; MemoryRepository <ClientCandidate> .Save(candidate); Assert.IsFalse(candidate.IsNew); Assert.IsFalse(candidate.IsDirty); Assert.IsFalse(candidate.WorkProfiles.IsDirty); Assert.IsFalse(candidate.Contact.IsDirty); Assert.IsTrue(candidate.IsValid); Assert.IsFalse(candidate.IsSavable); Assert.IsFalse(candidate.CanSave()); Assert.IsNotNull(candidate.WorkProfiles); Assert.AreEqual(candidate.WorkProfiles.Count, 1); Assert.IsNotNull(candidate.Contact); }
public PipelineCompatibleWithUseCaseNode(MemoryRepository repo, Pipeline pipeline, PipelineUseCase useCase) : base(null) { Pipeline = pipeline; UseCase = useCase; Repository = repo; _useCaseType = UseCase.GetType(); }
public void should_add_and_successfully_authenticate_the_first_user() { var userRepository = new MemoryRepository<User>(); var authenticationService = new AuthenticationService(userRepository, new UserCreateService(userRepository)); authenticationService.Authenticate(Username, Password); userRepository.Count().ShouldEqual(1); }
public static MemoryRepository<Comment> GetCommentsRepository() { var commentsRepository = new MemoryRepository<Comment>(); var users = GetUsersRepository(); var posts = GetPostsRepository(); for (int i = 0; i < 20; i++) { var user = users.GetById("id" + i % 10); var post = posts.GetById(i); var comment = new Comment { Id = i, CommentDate = new DateTime(2015, 11, i + 1), Content = "content" + i, PostId = post.Id, Post = post, UserId = user.Id, User = user, }; commentsRepository.Add(comment); } return commentsRepository; }
public StubDataOrderRepository(MemoryRepository <Order> memRepository) { this.memRepository = memRepository; this.memRepository.Add(Order.Create(new Guid("2143d854-0982-44b5-9c5d-acfaf3b7236a"), new Guid("c7daa440-096e-448b-ae45-d71268078225"))); }
public void CanFlushWithInjectedDataAndNoLongRunningFlushing() { // arrange var injectedRepository = new MemoryRepository <string, string>(); var hybridRepository = new HybridRepository <string, string>(injectedRepository); injectedRepository.AddOrUpdate(Update, "update"); injectedRepository.AddOrUpdate(Remove, "remove"); // act hybridRepository.AddOrUpdate(Add, "add"); hybridRepository.AddOrUpdate(Update, "update_changed"); hybridRepository.Remove(Remove); hybridRepository.TakeSnapshot(); hybridRepository.FlushSnapshot(); var add = injectedRepository.Get(Add); var update = injectedRepository.Get(Update); var remove = injectedRepository.Get(Remove); // assert add.Should().Be("add"); update.Should().Be("update_changed"); remove.Should().BeNull(); }
public static MemoryRepository<Recipe> GetRecipeRepositiry(int numberOfRecipes) { var repo = new MemoryRepository<Recipe>(); repo.Add(new Recipe() { Id = 1, Title = "Tandoori Carrots", Preparation = "Preparation 1, Preparation 1, Preparation 1, Preparation 1, Preparation 1, Preparation 1, Preparation 1, Preparation 1, Preparation 1", Category = new Category() { Name = "Healthy" }, CreatedOn = new DateTime(2016, 1, 12, 12, 12, 12), Creator = new User() { NickName = "Creator 1" }, Tags = new List<Tag>() { new Tag() { Text = "default" } }, Images = new List<RecipeImage>() { new RecipeImage() { OriginalName = "image1.png", Extension = ".png" } } }); repo.Add(new Recipe() { Id = 2, Title = "Sheetpandinners Chicken", Preparation = "Preparation 2, Preparation 2, Preparation 2, Preparation 2, Preparation 2, Preparation 2, Preparation 2, Preparation 2, Preparation 2", Category = new Category() { Name = "Quick and Easy" }, CreatedOn = new DateTime(2016, 1, 12, 11, 11, 11), Creator = new User() { NickName = "Creator 2" }, Tags = new List<Tag>() { new Tag() { Text = "default" } }, Images = new List<RecipeImage>() { new RecipeImage() { OriginalName = "image2.png", Extension = ".png" } } }); repo.Add(new Recipe() { Id = 3, Title = "Salad with butter and basted mushrooms", Preparation = "Preparation 3, Preparation 3, Preparation 3, Preparation 3, Preparation 3, Preparation 3, Preparation 3, Preparation 3, Preparation 3", Category = new Category() { Name = "Vegetarian" }, CreatedOn = new DateTime(2016, 1, 12, 10, 10, 10), Creator = new User() { NickName = "Creator 3" }, Tags = new List<Tag>() { new Tag() { Text = "default" } }, Images = new List<RecipeImage>() { new RecipeImage() { OriginalName = "image3.png", Extension = ".png" } } }); for (int i = 4; i <= numberOfRecipes + 3; i++) { var date = DateTime.Now; date.AddDays(i); repo.Add(new Recipe() { Id = i, Title = "Salad with butter and basted mushrooms " + i, Preparation = "Preparation " + i, Category = new Category() { Name = "Vegetarian" }, CreatedOn = date, Tags = new List<Tag>() { new Tag() { Text = "default" } }, Creator = new User() { NickName = "Creator " + i }, Images = new List<RecipeImage>() { new RecipeImage() { OriginalName = "image" + i + ".png", Extension = ".png" } } }); } return repo; }
public SpontaneouslyInventedSqlParameter(MemoryRepository repo, string declarationSql, string value, string comment, IQuerySyntaxHelper syntaxHelper) : base(repo) { _syntaxHelper = syntaxHelper; ParameterSQL = declarationSql; Value = value; Comment = comment; }
public void Init() { usersRepository = TestObjectsFactory.GetUsersRepository(); threadsRepository = TestObjectsFactory.GetThreadsRepository(); postsRepository = TestObjectsFactory.GetPostsRepository(); this.service = new PostsService(postsRepository, usersRepository, threadsRepository); }
public void CanDispatchMultipleEventsToMultipleViews() { var firstRepository = new MemoryRepository <string, SomeEvent>(); var secondRepository = new MemoryRepository <string, SomeEvent>(); var views = new View[] { new SomeView(firstRepository), new SomeView(secondRepository) }; var snapshotRepository = new MemoryRepository <string, Snapshot>(); var firstEvent = new SomeEvent { Id = "test" }; var secondEvent = new SomeEvent { Id = "test2" }; using (var snapshotManager = new SnapshotManager(views, snapshotRepository, Timeout.Infinite)) { // act snapshotManager.Dispatch(new Event { SequenceNumber = 1, Payload = firstEvent }); snapshotManager.Dispatch(new Event { SequenceNumber = 2, Payload = secondEvent }); // assert firstRepository.Get(firstEvent.Id).Should().Be(firstEvent); firstRepository.Get(secondEvent.Id).Should().Be(secondEvent); secondRepository.Get(firstEvent.Id).Should().Be(firstEvent); secondRepository.Get(secondEvent.Id).Should().Be(secondEvent); } }
/// <summary> /// Creates the sample entity repository mock. /// </summary> /// <returns> /// The sample entity repository mock. /// </returns> private static IRepository CreateSampleEntityRepository() { var memoryRepository = new MemoryRepository(new MappingSourceManager()); memoryRepository.Insert(new SampleEntity() { Id = 1, Name = "Entity 1" }); memoryRepository.Insert(new SampleEntity() { Id = 2, Name = "Sample" }); memoryRepository.Insert(new SampleEntity() { Id = 3, Name = "Entity 3" }); memoryRepository.Insert(new SampleEntity() { Id = 4, Name = "Sample" }); memoryRepository.Insert(new SampleEntity() { Id = 5, Name = "Sample" }); return(memoryRepository); }
public void Should_Return_The_First_Twenty_Directory_Results() { var repository = new MemoryRepository<DirectoryEntry>(Enumerable.Range(0, 30).Select(x => new DirectoryEntry())); var handler = new PublicGetHandler(repository); var viewModel = handler.Execute(new GetRequest {UserAgent = "" }); viewModel.Results.Count.ShouldEqual(20); }
public void should_create_user_password_hash() { var userRepository = new MemoryRepository<User>(); var userCreationService = new UserCreateService(userRepository); var user = userCreationService.Create(Username, Password, Email, false, ""); user.PasswordHash.ShouldNotBeNull(); user.PasswordHash.ShouldNotBeEmpty(); user.PasswordHash.ShouldNotEqual(Password); }
public void Should_Return_The_First_Twenty_Directory_Results() { var repository = new MemoryRepository<DirectoryEntry>(Enumerable.Range(0, 30).Select(x => new DirectoryEntry())); var controller = new DirectoryController(repository); controller.ControllerContext = Substitute.For<ControllerContext>(); var viewModel = (ViewModel)((ViewResult) controller.Index()).Model; viewModel.Results.Count.ShouldEqual(20); }
public void Setup() { _repository = new MemoryRepository<TestItem>(); PopulateRepositoryWithItemsForQuerying(_repository); _queryToCache = new QueryAdapter<TestItem>(); _queryToCache.Show("StoredString"); _results = _repository.GetItemsMatching(_queryToCache); _sortDefinitions = new SortDefinition[1]; _sortDefinitions[0] = new SortDefinition("StoredString", Comparer<string>.Default); }
public void Setup() { _repository = new MemoryRepository<TestItem>(); _queryResultsA = new Dictionary<string, object>(); _queryResultsA.Add("string", "A"); _queryResultsB = new Dictionary<string, object>(); _queryResultsB.Add("string", "B"); _queryResultsEmpty = new Dictionary<string, object>(); _queryResultsEmpty.Add("string", string.Empty); }
public void should_create_unique_non_admin_user() { var userRepository = new MemoryRepository<User>(); var userCreationService = new UserCreateService(userRepository); var user = userCreationService.Create(Username, Password, Email, false, ""); userRepository.Count().ShouldEqual(1); userRepository.First().ShouldEqual(user); user.Username.ShouldEqual(Username.ToLower()); user.Administrator.ShouldBeFalse(); user.Email.ShouldEqual(Email); }
public void Should_Return_First_Page_By_Default() { var repository = new MemoryRepository<DirectoryEntry>(Enumerable.Range(1, 30). Select(x => new DirectoryEntry { Name = x.ToString("00") })); var handler = new MultiplePublicGetHandler(repository); var viewModel = handler.Execute(new GetAllRequest()); viewModel.Count.ShouldEqual(MultiplePublicGetHandler.PageSize); viewModel.Min(x => int.Parse(x.name)).ShouldEqual(1); viewModel.Max(x => int.Parse(x.name)).ShouldEqual(20); }
public void Setup() { _repository = new MemoryRepository<TestItem>(); _results = new List<RecordToken<TestItem>>(); _results.Add(new RecordToken<TestItem>(_repository, new TestRepositoryId(8))); _results.Add(new RecordToken<TestItem>(_repository, new TestRepositoryId(12))); _results.Add(new RecordToken<TestItem>(_repository, new TestRepositoryId(1))); _results.Add(new RecordToken<TestItem>(_repository, new TestRepositoryId(3))); _resultSet = new ResultSet<TestItem>(_repository, _results); }
public void Should_Delete_Entry() { var id = Guid.NewGuid(); var repository = new MemoryRepository<DirectoryEntry>(new[] { Guid.NewGuid(), id, Guid.NewGuid() }. Select(x => new DirectoryEntry { Id = x })); var handler = new DeleteHandler(repository); handler.Execute_id(new EntryModel { id = id }); repository.Count().ShouldEqual(2); repository.Any(x => x.Id == id).ShouldBeFalse(); }
public void Should_Return_Filtered_Directory_Results() { var repository = new MemoryRepository<DirectoryEntry>(new [] {"keith", "kevin", "kiner"}. Select(x => new DirectoryEntry {Name = x })); var handler = new MultiplePublicGetHandler(repository); var viewModel = handler.Execute(new GetAllRequest { Query = "ke" }); viewModel.Count.ShouldEqual(2); viewModel.Any(x => x.name == "keith").ShouldBeTrue(); viewModel.Any(x => x.name == "kevin").ShouldBeTrue(); }
public void Should_Return_Second_Page() { var repository = new MemoryRepository<DirectoryEntry>(Enumerable.Range(1, 26). Select(x => new DirectoryEntry { Name = x.ToString("00") })); var handler = new MultiplePublicGetHandler(repository); var viewModel = handler.Execute(new GetAllRequest { Index = 2 }); viewModel.Count.ShouldEqual(6); viewModel.Min(x => int.Parse(x.name)).ShouldEqual(21); viewModel.Max(x => int.Parse(x.name)).ShouldEqual(26); }
private void PopulateRepositoryWithItemsForQuerying(MemoryRepository<TestItem> repository) { TestItem[] items = new TestItem[3]; items[0] = repository.CreateItem(); items[0].StoredString = "Item 3"; repository.SaveItem(items[0]); items[1] = repository.CreateItem(); items[1].StoredString = "Item 0"; repository.SaveItem(items[1]); items[2] = repository.CreateItem(); items[2].StoredString = "Item 2"; repository.SaveItem(items[2]); }
public void Should_Delete_Entry() { var id = Guid.NewGuid(); var repository = new MemoryRepository<DirectoryEntry>(new[] { Guid.NewGuid(), id, Guid.NewGuid() }. Select(x => new DirectoryEntry { Id = x })); var controller = new DirectoryController(repository); // This is delete? Hard to tell isn't it... controller.Entries(id); repository.Count().ShouldEqual(2); repository.Any(x => x.Id == id).ShouldBeFalse(); }
public void Should_Return_Filtered_Directory_Results() { var repository = new MemoryRepository<DirectoryEntry>(new [] {"keith", "kevin", "kiner"}. Select(x => new DirectoryEntry {Name = x })); var controller = new DirectoryController(repository); var result = controller.Entries("ke", 1); var data = (IEnumerable<EntryModel>) result.Data; data.Count().ShouldEqual(2); data.Any(x => x.name == "keith").ShouldBeTrue(); data.Any(x => x.name == "kevin").ShouldBeTrue(); }
public void DeleteAll_Method() { using (var repository = new MemoryRepository<TestEntity>()) { repository.Transaction(() => Assert.True(ReferenceEquals(repository.DeleteAll(), repository))); Assert.False(repository.Any()); repository.Transaction(() => repository.Persist(new TestEntity()).Persist(new TestEntity())); Assert.Equal(2, repository.Count()); repository.Transaction(() => repository.DeleteAll()); Assert.False(repository.Any()); } }
public SyncService() { var channelRepository = new MemoryRepository<Channel>(new ChannelEqualityComparer()); var playlistRepository = new MemoryRepository<Playlist>(new PlaylistEqualityComparer()); var playlistItemsRepository = new MemoryRepository<PlaylistItem>(new PlaylistItemEqualityComparer()); var channelPlaylistsRepository = new JsonRepository<ChannelPlaylistLink>( new ChannelPlaylistLinkEqualityComparer(), @"Cache/channels_playlists_map.json"); _unitOfWork = new UnitOfWork( channelRepository, playlistRepository, playlistItemsRepository, channelPlaylistsRepository); }
public static MemoryRepository<Category> GetCategoriesRepository() { var categoriesRepository = new MemoryRepository<Category>(); for (int i = 0; i < 10; i++) { var category = new Category { Id = i, Name = "category" + i }; categoriesRepository.Add(category); } return categoriesRepository; }
public void Delete_Method() { Assert.Throws<ArgumentNullException>(() => new MemoryRepository<TestEntity>().Delete(null)); var entity = new TestEntity(); using (var repository = new MemoryRepository<TestEntity>()) { repository.Transaction(() => Assert.True(ReferenceEquals(repository.Delete(entity), repository))); repository.Transaction(() => repository.Persist(entity)); repository.Transaction(() => repository.Delete(new TestEntity())); Assert.True(ReferenceEquals(repository.Single(), entity)); repository.Transaction(() => repository.Delete(entity)); Assert.False(repository.Any()); } }
public void Commit_Method() { var entity = new TestEntity(); using (var repository = new MemoryRepository<TestEntity>()) { Assert.False(repository.Any()); Assert.True(ReferenceEquals(repository.Persist(entity).Commit(), repository)); Assert.True(ReferenceEquals(repository.Single(), entity)); repository.Delete(entity); Assert.False(repository.Any()); repository.Commit(); Assert.False(repository.Any()); } }
public void SaveNewUser_UserSaved() { Bootstrap.Initilize(); using (var unitOfWork = Factory.Current.Create<IUnitOfWork>()) { var userRepository = new MemoryRepository<User>(unitOfWork); var service = new UserService(userRepository); var user = new User { Name = "some.user", FullName = "Some user", Email = "*****@*****.**", Password = "******" }; service.Save(user); unitOfWork.Commit(); Assert.IsFalse(user.IsTransient); } }
public static MemoryRepository<Thread> GetThreadsRepository() { var threadsRepository = new MemoryRepository<Thread>(); var users = GetUsersRepository(); for (int i = 0; i < 5; i++) { var user = users.GetById("id" + i % 10); var thread = new Thread { Id = i, Content = "content" + i, DateCreated = new DateTime(2015, 11, i + 1), Title = "title" + i, UserId = user.Id, User = user }; threadsRepository.Add(thread); } return threadsRepository; }
public static MemoryRepository<RecipeImage> GetRecipeImagesRepositiry(int numberOfImages) { var repo = new MemoryRepository<RecipeImage>(); for (int i = 1; i <= numberOfImages; i++) { var date = DateTime.Now; date.AddDays(i); byte[] bytes = new byte[20]; new Random().NextBytes(bytes); repo.Add(new RecipeImage() { Id = i, OriginalName = "OriginalName.png", Extension = ".png", Content = bytes, CreatedOn = date, }); } return repo; }