Skip to content

Instantly share code, notes, and snippets.

@clausjoergensen
Created December 20, 2011 13:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clausjoergensen/1501600 to your computer and use it in GitHub Desktop.
Save clausjoergensen/1501600 to your computer and use it in GitHub Desktop.
[TestMethod]
public void ExecuteTest()
{
var acceptanceTestRepository = new Mock<IAcceptanceTestRepository>();
var testPointRepository = new Mock<ITestPointRepository>();
var dialogService = new Mock<IDialogService>();
var eventAggregator = new Mock<IEventAggregator>();
eventAggregator.Setup(x => x.GetEvent<TestPointUpdatedEvent>()).Returns(new TestPointUpdatedEvent());
eventAggregator.Setup(x => x.GetEvent<AcceptanceTestUpdatedEvent>()).Returns(new AcceptanceTestUpdatedEvent());
var fixture = new Fixture();
fixture.Register<IDialogService>(() => dialogService.Object);
fixture.Register<IAcceptanceTestRepository>(() => acceptanceTestRepository.Object);
fixture.Register<ITestPointRepository>(() => testPointRepository.Object);
fixture.Register<ISettingsProvider>(() => MockHelper.SettingsProvider);
fixture.Register<IEventAggregator>(() => eventAggregator.Object);
var dialogViewModel = fixture.Build<AcceptanceTestDialogViewModel>()
.With(x => x.SamplesPerSequencePercent, "42")
.With(x => x.SamplesPerErrorCount, "13")
.CreateAnonymous();
var acceptanceTestRevision = fixture.CreateAnonymous<AcceptanceTestRevision>();
Mapper.CreateMap<AcceptanceTestRevision, AcceptanceTestDialogViewModel>()
.ConstructUsing(x => dialogViewModel);
Mapper.CreateMap<AcceptanceTestDialogViewModel, AcceptanceTestRevision>()
.ForMember(x => x.TransientCurrentType, o => o.MapFrom(s => s.TransientCurrentType));
var meterTestViewModel = new MeterTestViewModel
(
acceptanceTestRepository.Object,
testPointRepository.Object,
eventAggregator.Object,
MockHelper.SettingsProvider,
dialogService.Object
);
dialogService.Setup(x => x.ShowDialog<AcceptanceTestDialog>(dialogViewModel)).Returns(true);
meterTestViewModel.SelectedAcceptanceTestRevision = acceptanceTestRevision;
var command = new EditAcceptanceTestCommand
(
eventAggregator.Object,
acceptanceTestRepository.Object,
dialogService.Object,
MockHelper.SettingsProvider,
meterTestViewModel
);
command.Execute(null);
// Now all I need, is a neat way to test all the properties :p
Assert.AreEqual(dialogViewModel.Name, acceptanceTestRevision.Name);
Assert.AreEqual(dialogViewModel.Description, acceptanceTestRevision.Description);
Assert.AreEqual(dialogViewModel.SamplesPerSequencePercentValue, acceptanceTestRevision.SamplesPerSequencePercent);
Assert.AreEqual(dialogViewModel.SamplesPerErrorCountValue, acceptanceTestRevision.SamplesPerErrorCount);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment