コード例 #1
0
        public void GivenTracesForCrosslineShouldCreateOneImage()
        {
            // Arrange
            var trace1 = new MockTrace {
                Values = new float[] { 99 }, Header = new MockTraceHeader {
                    CrosslineNumber = 1, InlineNumber = 10
                }
            };
            var trace2 = new MockTrace {
                Values = new float[] { 77 }, Header = new MockTraceHeader {
                    CrosslineNumber = 1, InlineNumber = 20
                }
            };
            IEnumerable <ITrace> traces = new ITrace[] { trace1, trace2 };
            var path = TestPath() + ".jpg";

            // Act
            Subject.Write(traces, path);

            // Assert
            BinaryFileAssert.Exists(path);
            TestContext.AddResultFile(path);
            var image = new Bitmap(path);

            Assert.AreEqual(2, image.Width);
            Assert.AreEqual(1, image.Height);
        }
コード例 #2
0
        private static IEnumerable <ITrace> MockTraces2x3()
        {
            var trace1 = new MockTrace {
                Values = new float[] { 20, 10, 25 }
            };
            var trace2 = new MockTrace {
                Values = new float[] { 15, 30, 25 }
            };

            return(new ITrace[] { trace1, trace2 });
        }
コード例 #3
0
        public MockSegyFile(int traces, int samplesPerTrace)
        {
            var trace = new MockTrace {
                Values = new float[samplesPerTrace]
            };

            Traces = new ITrace[traces];
            for (int i = 0; i < traces; i++)
            {
                Traces[i] = trace;
            }
        }
コード例 #4
0
        public void WhenDisabledNullSamplesShouldNotBeTransparent()
        {
            // Arrange
            var trace = new MockTrace {
                Values = new float[] { 0, 1, -1 }
            };
            var segy = new MockSegyFile {
                Traces = new ITrace[] { trace }
            };
            var path = TestPath() + ".png";

            // Act
            Subject.SetNullValuesToTransparent = false;
            Subject.Write(segy, path);

            // Assert
            Bitmap image = new Bitmap(path);

            Assert.AreEqual(255, image.GetPixel(0, 0).A);
        }
コード例 #5
0
        public void PixelValuesShouldBeBlackToWhite()
        {
            // Arrange
            var traceValues = new float[] { 150, 175, 125, 200, 111, 100, 123 };    // Min: 100, Max: 200
            var trace       = new MockTrace {
                Values = traceValues
            };
            var segy = new MockSegyFile {
                Traces = new ITrace[] { trace }
            };
            var path = TestPath() + ".png";

            // Act
            Subject.Write(segy, path);

            // Assert
            Bitmap image = new Bitmap(path);

            Assert.AreEqual(Color.FromArgb(0, 0, 0), image.GetPixel(0, 5));
            Assert.AreEqual(Color.FromArgb(127, 127, 127), image.GetPixel(0, 0));
            Assert.AreEqual(Color.FromArgb(255, 255, 255), image.GetPixel(0, 3));
        }
コード例 #6
0
        public void ShouldCreateImageForEachInline()
        {
            // Arrange
            var values   = new float[] { 1, 2, 3 };
            var trace12a = new MockTrace {
                Header = new MockTraceHeader {
                    InlineNumber = 12, CrosslineNumber = 1
                }, Values = values
            };
            var trace12b = new MockTrace {
                Header = new MockTraceHeader {
                    InlineNumber = 12, CrosslineNumber = 2
                }, Values = values
            };
            var trace14 = new MockTrace {
                Header = new MockTraceHeader {
                    InlineNumber = 14
                }, Values = values
            };
            var segy = new MockSegyFile {
                Traces = new ITrace[] { trace12a, trace12b, trace14 }
            };
            var path = TestPath() + ".png";

            // Act
            Subject.Write(segy, path);

            // Assert
            var image12 = new Bitmap(TestPath() + " (12).png");

            Assert.AreEqual(3, image12.Height);
            Assert.AreEqual(2, image12.Width);
            var image14 = new Bitmap(TestPath() + " (14).png");

            Assert.AreEqual(3, image14.Height);
            Assert.AreEqual(1, image14.Width);
        }
コード例 #7
0
        public void NullSamplesShouldBeTransparent()
        {
            // Arrange: A sample value of exactly 0
            var traceValues = new float[] { 0.00001f, 0, -0.00001f };
            var trace       = new MockTrace {
                Values = traceValues
            };
            var segy = new MockSegyFile {
                Traces = new ITrace[] { trace }
            };
            var path = TestPath() + ".png";

            Subject.SetNullValuesToTransparent = true;

            // Act
            Subject.Write(segy, path);

            // Assert
            Bitmap image = new Bitmap(path);

            Assert.AreEqual(255, image.GetPixel(0, 0).A);
            Assert.AreEqual(0, image.GetPixel(0, 1).A);
            Assert.AreEqual(255, image.GetPixel(0, 2).A);
        }