File: EdmFunctionExtensionsTests.cs

package info (click to toggle)
mono-reference-assemblies 3.12.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 604,240 kB
  • ctags: 625,505
  • sloc: cs: 3,967,741; xml: 2,793,081; ansic: 418,042; java: 60,435; sh: 14,833; makefile: 11,576; sql: 7,956; perl: 1,467; cpp: 1,446; yacc: 1,203; python: 598; asm: 422; sed: 16; php: 1
file content (64 lines) | stat: -rw-r--r-- 2,627 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.

namespace System.Data.Entity.SqlServer.Utilities
{
    using System.Data.Entity.Core.Metadata.Edm;
    using Moq;
    using Xunit;

    public class EdmFunctionExtensionsTests
    {
        [Fact]
        public void IsCSpace_returns_false_if_MetadataProperties_contains_no_data_space_property()
        {
            var mockEdmFunction = new Mock<EdmFunction>();
            mockEdmFunction.Setup(m => m.MetadataProperties).Returns(new ReadOnlyMetadataCollection<MetadataProperty>());

            Assert.False(mockEdmFunction.Object.IsCSpace());
        }

        [Fact]
        public void IsCSpace_returns_false_if_MetadataProperties_contains_non_c_space_data_space_property()
        {
            Assert.False(CreateMockEdmFunction(DataSpace.OCSpace, null).Object.IsCSpace());
        }

        [Fact]
        public void IsCSpace_returns_true_if_MetadataProperties_contains_c_space_data_space_property()
        {
            Assert.True(CreateMockEdmFunction(DataSpace.CSpace, null).Object.IsCSpace());
        }

        [Fact]
        public void IsCanonicalFunction_returns_true_if_function_is_in_c_space_and_has_Edm_namespace()
        {
            Assert.True(CreateMockEdmFunction(DataSpace.CSpace, "Edm").Object.IsCanonicalFunction());
        }

        [Fact]
        public void IsCanonicalFunction_returns_false_if_function_is_in_c_space_but_not_in_Edm_namespace()
        {
            Assert.False(CreateMockEdmFunction(DataSpace.CSpace, "Sql").Object.IsCanonicalFunction());
        }

        [Fact]
        public void IsCanonicalFunction_returns_false_if_function_is_in_Edm_namespace_but_not_in_c_space()
        {
            Assert.False(CreateMockEdmFunction(DataSpace.SSpace, "Edm").Object.IsCanonicalFunction());
        }

        private static Mock<EdmFunction> CreateMockEdmFunction(DataSpace dataSpace, string namespaceName)
        {
            var mockProperty = new Mock<MetadataProperty>();
            mockProperty.Setup(m => m.Name).Returns("DataSpace");
            mockProperty.Setup(m => m.Value).Returns(dataSpace);

            var mockEdmFunction = new Mock<EdmFunction>();
            mockEdmFunction.Setup(m => m.MetadataProperties).Returns(
                new ReadOnlyMetadataCollection<MetadataProperty>(new[] { mockProperty.Object }));
            mockEdmFunction.Setup(m => m.NamespaceName).Returns(namespaceName);

            return mockEdmFunction;
        }
    }
}