public void ShouldReadDefaultLocale()
		{
			// Arrange
			LocalizationRepository repository = new LocalizationRepository(ConfigSettings.LocalizationDatabaseConnectionName);
			LocalizationDataProvider.PreInsertArrange(repository);
			string defaultLocale = "default";

			// Act
			LocalizationCollectionEntity entityToAssert = repository.Read(defaultLocale);

			// Assert
			Assert.IsNotNull(entityToAssert);
			Assert.AreEqual(entityToAssert.Locale, defaultLocale);
		}
		public void ShouldReadAllLocales()
		{
			// Arrange
			LocalizationRepository repository = new LocalizationRepository(ConfigSettings.LocalizationDatabaseConnectionName);
			LocalizationCollectionEntity localizationCollection = LocalizationDataProvider.PreInsertArrange(repository);
			LocalizationCollectionEntity entityToInsert = LocalizationDataProvider.GetLocalizationCollectionToCreate();
			repository.Create(entityToInsert, false);

			// Act
			List<LocalizationCollectionEntity> locales = repository.Read();

			// Assert
			Assert.IsNotNull(locales);
			Assert.AreEqual(2, locales.Count());
		}
		public void ShouldCreateLocale()
		{
			// Arrange
			LocalizationRepository repository = new LocalizationRepository(ConfigSettings.LocalizationDatabaseConnectionName);
			LocalizationDataProvider.PreInsertArrange(repository);
			LocalizationCollectionEntity entityToInsert = LocalizationDataProvider.GetLocalizationCollectionToCreate();

			// Act
			repository.Create(entityToInsert);

			// Assert
			LocalizationCollectionEntity entityToAssert = repository.Read(entityToInsert.Locale);
			Assert.IsNotNull(entityToAssert);
			Assert.AreEqual(entityToAssert.Locale, entityToInsert.Locale);
		}
		public void ShouldReadLocalizationCollectionForAllItems()
		{
			// Arrange
			LocalizationRepository repository = new LocalizationRepository(ConfigSettings.LocalizationDatabaseConnectionName);
			LocalizationCollectionEntity assertItem = LocalizationDataProvider.PreInsertArrange(repository);
			LocalizationCollectionEntity request = new LocalizationCollectionEntity();
			request.Locale = assertItem.Locale;

			// Act
			LocalizationCollectionEntity response = repository.Read(request.Locale);

			// Assert
			Assert.IsNotNull(response);
			Assert.That(response.LocalizationItems.Count, Is.GreaterThan(0));
		}
		public void ShouldReadLocalizationCollectionForSpecificItem()
		{
			// Arrange
			LocalizationRepository repository = new LocalizationRepository(ConfigSettings.LocalizationDatabaseConnectionName);
			LocalizationCollectionEntity assertItem = LocalizationDataProvider.PreInsertArrange(repository);
			LocalizationCollectionEntity request = new LocalizationCollectionEntity();
			request.LocalizationItems.Add(new LocalizationEntity() { Key = assertItem.LocalizationItems[0].Key });
			request.Locale = assertItem.Locale;

			// Act
			LocalizationCollectionEntity response = repository.Read(request);

			// Assert
			Assert.IsNotNull(response);
			Assert.That(response.LocalizationItems.Count, Is.EqualTo(1));
			Assert.That(response.LocalizationItems[0].Value, Is.EqualTo(assertItem.LocalizationItems[0].Value));
		}
		public void ShouldDeleteLocale()
		{
			// Arrange
			LocalizationRepository repository = new LocalizationRepository(ConfigSettings.LocalizationDatabaseConnectionName);
			LocalizationCollectionEntity entity = LocalizationDataProvider.PreInsertArrange(repository);

			// Act
			repository.Delete(entity.Locale);

			// Assert
			Assert.IsNull(repository.Read(entity.Locale));
		}