public DynamoAlarmGeneratorMockery()
        {
            Cloudwatch  = new Mock <IAmazonCloudWatch>();
            AlarmFinder = new Mock <IAlarmFinder>();

            SnsTopicCreator        = new Mock <ISnsTopicCreator>();
            SnsSubscriptionCreator = new Mock <ISnsSubscriptionCreator>();

            TableLoader = new Mock <IResourceSource <TableDescription> >();

            var logger             = new ConsoleAlarmLogger(false);
            var tableNamePopulator = new TableNamePopulator(logger, TableLoader.Object);
            var snsCreator         = new SnsCreator(SnsTopicCreator.Object, SnsSubscriptionCreator.Object);

            var tableAlarmCreator = new TableAlarmCreator(Cloudwatch.Object, AlarmFinder.Object, logger, Mock.Of <ILegacyAlarmTracker>());
            var indexAlarmCreator = new IndexAlarmCreator(Cloudwatch.Object, AlarmFinder.Object, logger, Mock.Of <ILegacyAlarmTracker>());

            AlarmGenerator = new DynamoAlarmGenerator(
                logger,
                tableNamePopulator,
                tableAlarmCreator,
                indexAlarmCreator,
                snsCreator,
                TableLoader.Object);
        }
 public ReportGenerator(
     IConfigLoader configLoader,
     TableNamePopulator tableNamePopulator,
     IResourceSource <TableDescription> tableSource,
     IAmazonCloudWatch cloudwatch)
 {
     _configLoader       = configLoader;
     _tableNamePopulator = tableNamePopulator;
     _tableSource        = tableSource;
     _cloudwatch         = cloudwatch;
 }