public void GetHashCode_should_return_the_same_hash_code_for_two_almost_equal_instances()
        {
            var entry1 = new ColorMapEntry(0.5, Colors.Yellow);
            var entry2 = new ColorMapEntry(0.500001, Colors.Yellow);

            entry1.GetHashCode().Should().Be(entry2.GetHashCode());
        }
Пример #2
0
        private ColorMap BuildColorMap()
        {
            //ColorMapEntry[] colorMapEntries = new ColorMapEntry[18];

            //colorMapEntries[0] = new ColorMapEntry(258, "#ffffff");
            //colorMapEntries[1] = new ColorMapEntry(260, "#bf2ae2");
            //colorMapEntries[2] = new ColorMapEntry(262, "#f017c6");
            //colorMapEntries[3] = new ColorMapEntry(265, "#e1e10f");
            //colorMapEntries[4] = new ColorMapEntry(269, "#24d0e3");
            //colorMapEntries[5] = new ColorMapEntry(273, "#00ff00");
            //colorMapEntries[6] = new ColorMapEntry(277, "#0000ff");
            //colorMapEntries[7] = new ColorMapEntry(280, "#ff0000");
            //colorMapEntries[8] = new ColorMapEntry(283, "#00ff00");
            //colorMapEntries[9] = new ColorMapEntry(287, "#e77d4d");
            //colorMapEntries[10] = new ColorMapEntry(292, "#13bcb4");
            //colorMapEntries[11] = new ColorMapEntry(298, "#9da5b3");
            //colorMapEntries[12] = new ColorMapEntry(304, "#f50050");
            //colorMapEntries[13] = new ColorMapEntry(310, "#ffffff");
            //colorMapEntries[14] = new ColorMapEntry(318, "#bf2ae2");
            //colorMapEntries[15] = new ColorMapEntry(328, "#f017c6");
            //colorMapEntries[16] = new ColorMapEntry(340, "#e1e10f");
            //colorMapEntries[17] = new ColorMapEntry(357, "#24d0e3");

            //ColorMapEntry[] colorMapEntries = new ColorMapEntry[13];

            //colorMapEntries[0] = new ColorMapEntry(249, "#ffffff");
            //colorMapEntries[1] = new ColorMapEntry(252, "#bf2ae2");
            //colorMapEntries[2] = new ColorMapEntry(255, "#f017c6");
            //colorMapEntries[3] = new ColorMapEntry(259, "#e1e10f");
            //colorMapEntries[4] = new ColorMapEntry(263, "#24d0e3");
            //colorMapEntries[5] = new ColorMapEntry(268, "#00ff00");
            //colorMapEntries[6] = new ColorMapEntry(274, "#0000ff");
            //colorMapEntries[7] = new ColorMapEntry(280, "#ff0000");
            //colorMapEntries[8] = new ColorMapEntry(286, "#00ff00");
            //colorMapEntries[9] = new ColorMapEntry(294, "#e77d4d");
            //colorMapEntries[10] = new ColorMapEntry(304, "#13bcb4");
            //colorMapEntries[11] = new ColorMapEntry(316, "#9da5b3");
            //colorMapEntries[12] = new ColorMapEntry(333, "#f50050");

            ColorMapEntry[] colorMapEntries = new ColorMapEntry[13];

            colorMapEntries[0]  = new ColorMapEntry(260, "#ffffff");
            colorMapEntries[1]  = new ColorMapEntry(263, "#bf2ae2");
            colorMapEntries[2]  = new ColorMapEntry(267, "#f017c6");
            colorMapEntries[3]  = new ColorMapEntry(271, "#e1e10f");
            colorMapEntries[4]  = new ColorMapEntry(276, "#24d0e3");
            colorMapEntries[5]  = new ColorMapEntry(281, "#00ff00");
            colorMapEntries[6]  = new ColorMapEntry(286, "#0000ff");
            colorMapEntries[7]  = new ColorMapEntry(292, "#ff0000");
            colorMapEntries[8]  = new ColorMapEntry(299, "#00ff00");
            colorMapEntries[9]  = new ColorMapEntry(307, "#e77d4d");
            colorMapEntries[10] = new ColorMapEntry(317, "#13bcb4");
            colorMapEntries[11] = new ColorMapEntry(330, "#9da5b3");
            colorMapEntries[12] = new ColorMapEntry(347, "#f50050");

            string   highColor = "#000000"; // black
            ColorMap result    = new ColorMap(colorMapEntries, highColor);

            return(result);
        }
        public void Ctor_should_store_the_key_and_color()
        {
            var entry = new ColorMapEntry(0.33, Colors.Cyan);

            entry.Key.Should().Be(0.33);
            entry.Color.Should().Be(Colors.Cyan);
        }
        public void Equals_should_return_true_for_almost_equal_instances()
        {
            var entry1 = new ColorMapEntry(0.5, Colors.Yellow);
            var entry2 = new ColorMapEntry(0.500001, Colors.Yellow);

            entry1.Equals(entry2).Should().BeTrue();
            (entry1 == entry2).Should().BeTrue();
            (entry1 != entry2).Should().BeFalse();
        }
        public void Ctor_should_throw_if_the_key_is_less_than_0_or_greater_than_1()
        {
            Action action = () => _ = new ColorMapEntry(-0.1, Colors.White);

            action.Should().ThrowExactly <ArgumentOutOfRangeException>().And.ParamName.Should().Be("key");

            action = () => _ = new ColorMapEntry(1.1, Colors.White);
            action.Should().ThrowExactly <ArgumentOutOfRangeException>().And.ParamName.Should().Be("key");
        }
        public void Equals_should_return_true_for_the_same_instance()
        {
            var entry1 = new ColorMapEntry(0.5, Colors.Yellow);

            entry1.Equals(entry1).Should().BeTrue();

            // ReSharper disable EqualExpressionComparison
#pragma warning disable CS1718 // Comparison made to same variable
            (entry1 == entry1).Should().BeTrue();
            (entry1 != entry1).Should().BeFalse();
#pragma warning restore CS1718 // Comparison made to same variable
            // ReSharper restore EqualExpressionComparison
        }
    private RasterSymbolizer CreateRasterSymbolizer(NodePropertyValue[] properties)
    {
      RasterSymbolizer symRaster = new RasterSymbolizer();

      NodePropertyValue pv = null;

      try
      {
        int nProps = properties.Length;
        for (int i = 0; i < nProps; i++)
        {
          pv = properties[i];
          switch (pv.Name)
          {
            case "raster-opacity":
              symRaster.Opacity = Convert.ToSingle(pv.Value);
              break;
            case "raster-filter-factor":
              UnsupportedProperty(pv);
              break;
            case "raster-scaling":
              symRaster.InterpolationMode = ToImageResamplingMode(pv.Value);
              break;
            case "raster-mesh-size":
              UnsupportedProperty(pv);
              break;
            case "raster-comp-op":
              symRaster.CompositingMode = ToCompositingMode(pv.Value);
              break;
            case "raster-colorizer-default-mode":
              symRaster.ColorMap.DefaultMode = ToColorMapMode(pv.Value);
              break;
            case "raster-colorizer-default-color":
              symRaster.ColorMap.DefaultColor = ColorUtility.FromHtml(pv.Value);
              break;
            case "raster-colorizer-epsilon":
              symRaster.ColorMap.Epsilon = Convert.ToSingle(pv.Value);
              break;
            case "raster-colorizer-stops":
              MatchCollection stopsMatch = m_colorMapStops.Matches(pv.Value.ToLower());
              if (stopsMatch.Count > 0)
              {
                symRaster.ShadedRelief.ShaderType = ShaderType.Custom;

                foreach (Match match in stopsMatch)
                {
                  ColorMapEntry entry = new ColorMapEntry();
                  MatchCollection args = m_regexFuncParams.Matches(match.Groups[2].Value.Trim(new char[] { '(', ')' }));

                  for (int a = 0; a < args.Count; a++)
                  {
                    Match arg = args[a];
                    string av = arg.Value.Trim();
                    if (a == 0)
                      entry.Quantity = Convert.ToDouble(av);
                    else if (a == 1)
                      entry.Color = ColorUtility.FromHtml(av);
                    else if (a == 2)
                      entry.Mode = ToColorMapMode(av);
                  }

                  symRaster.ColorMap.Entries.Add(entry);
                }
              }
              break;
          }
        }
      }
      catch (Exception ex)
      {
        ThrowParsingException(ex, pv);
      }

      return symRaster;
    }