public function __construct($id, $settings)
 {
     $this->logger = new Logger();
     $this->id = $id;
     $this->logger->add('Attachment ID', $this->id);
     $this->settings = $settings;
     // 1. Get sizes
     $this->image_sizes = $this->get_image_sizes();
     // Retina
     if (isset($this->settings['retina'])) {
         $retina = new Retina($this->settings);
         $this->image_sizes = $retina->set_sizes($this->image_sizes);
     }
     $this->logger->add('Image sizes', $this->image_sizes);
     // 2. Get images
     $this->images = $this->get_images($this->image_sizes);
     // 3. Order the images by width
     $this->images = $this->order_images($this->images);
     // 4. Adds retina versions to the same array as the 'original' image.
     if (isset($this->settings['retina']) && $this->settings['retina']) {
         $this->group_highres();
     }
     // 5. Remove images that is larger than the one inserted into the editor.
     if (isset($this->settings['notBiggerThan'])) {
         $this->images = $this->remove_images_larger_than_inserted($this->images, $this->settings['notBiggerThan']);
         $this->logger->add('Largest size that should be used', $this->settings['notBiggerThan']);
     }
     $this->images = array_values($this->images);
     // 5. Set the media queries
     $user_media_queries = isset($settings['media_queries']) ? $settings['media_queries'] : null;
     $media_queries = new Media_Queries($this->images, $user_media_queries);
     $this->images = $media_queries->set();
     $this->logger->log_media_queries($this->images);
     $this->log = $this->logger->get();
 }
 function test_custom_media_queries()
 {
     $settings = array('medium' => 'min-width: 600px', 'large' => 'min-width: 1280px');
     $expected = $this->images;
     $expected[1]['media_query'] = 'min-width: 600px';
     $expected[2]['media_query'] = 'min-width: 1280px';
     $media_queries = new Media_Queries($this->images, $settings);
     $images = $media_queries->set($this->images);
     $this->assertEquals($expected, $images);
 }