public void TestBoolHasProperValue()
    {
      DownloadMediaOptions options = new DownloadMediaOptions();
      options.SetDisplayAsThumbnail(true);
      options.SetDisableMediaCache(true);
      options.SetDisableMediaCache(false);

      Assert.AreEqual("1", options.DisplayAsThumbnail);
      Assert.AreEqual("0", options.DisableMediaCache);
    }
    public void TestHashedUrlBuilderAddsShellSiteIfSpecified()
    {
      var options = new DownloadMediaOptions();
      options.SetDisplayAsThumbnail(true);

      const string imagePath = "/images/green_mineraly1";
      string original = this.builderWithShellSite.BuildUrlStringForPath(imagePath, options);
      Assert.AreEqual("http://localhost/~/media/images/green_mineraly1.ashx?thn=1&db=master&la=fr", original);

      string result = this.builderWithShellSite.BuildUrlToRequestHashForPath(imagePath, options);
      string expected = "http://localhost/-/item/v1%2fsitecore%2fshell/-/actions/getsignedmediaurl?url=http%3a%2f%2flocalhost%2f~%2fmedia%2fimages%2fgreen_mineraly1.ashx%3fthn%3d1%26db%3dmaster%26la%3dfr";
      Assert.AreEqual(expected, result);
    }
    public void CorrectDownloadOptionsWithAllParamsTest()
    {
      var options = new DownloadMediaOptions();
      options.SetWidth(10);
      options.SetHeight(10);
      options.SetBackgroundColor("3F0000");
      options.SetAllowStrech(false);
      options.SetDisableMediaCache(false);
      options.SetDisplayAsThumbnail(true);
      options.SetMaxHeight(10);
      options.SetMaxWidth(10);
      options.SetScale(2.5f);

      string result = this.builder.BuildUrlStringForPath("~/media/1.png", options);
      const string expected = "http://test.host/~/media/1.png?w=10&h=10&mw=10&mh=10&bc=3f0000&dmc=0&as=0&sc=2.5&thn=1&db=web&la=en";

      Assert.AreEqual(expected, result);
    }
    public void CorrectDownloadOptionsWithNullValuesTest()
    {
      var options = new DownloadMediaOptions();
      options.SetWidth(100);
      options.SetBackgroundColor("white");
      options.SetBackgroundColor(null);

      options.SetDisplayAsThumbnail(true);
      options.SetDisplayAsThumbnail(false);

      string result = this.builder.BuildUrlStringForPath("~/media/1", options);
      const string expected = "http://test.host/~/media/1.ashx?w=100&thn=0&db=web&la=en";

      Assert.AreEqual(expected, result);
    }