• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

leeonky / test-charm-java / 150

07 Mar 2025 12:58AM UTC coverage: 74.287% (-0.08%) from 74.367%
150

push

circleci

leeonky
Try to fix ci

7919 of 10660 relevant lines covered (74.29%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.3
/jfactory-property-value/src/main/java/com/github/leeonky/jfactory/helper/DALHelper.java
1
package com.github.leeonky.jfactory.helper;
2

3
import com.github.leeonky.dal.DAL;
4
import com.github.leeonky.dal.ast.opt.DALOperator;
5
import com.github.leeonky.dal.runtime.*;
6

7
import java.util.Optional;
8

9
import static com.github.leeonky.jfactory.helper.ObjectReference.RawType.*;
10
import static java.util.Optional.of;
11

12
public class DALHelper {
1✔
13
    public DAL dal() {
14
        DAL dal = new DAL("JFactory").extend();
1✔
15
        overrideOptEqual(dal);
1✔
16
        overrideOptMatch(dal);
1✔
17
        implementListElementAssignment(dal);
1✔
18
        implementTraitSpec(dal);
1✔
19
        implementForceCreation(dal);
1✔
20

21
        dal.getRuntimeContextBuilder().registerDumper(ObjectReference.class, _ignore -> (data, dumpingBuffer) ->
1✔
22
                dumpingBuffer.dump(dumpingBuffer.getRuntimeContext()
×
23
                        .wrap(((ObjectReference) data.instance()).value())));
×
24
        return dal;
1✔
25
    }
26

27
    private void implementForceCreation(DAL dal) {
28
        dal.getRuntimeContextBuilder().registerExclamation(ObjectReference.class, runtimeData -> {
1✔
29
            ((ObjectReference) runtimeData.data().instance()).intently();
1✔
30
            return runtimeData.data();
1✔
31
        });
32
    }
1✔
33

34
    private void implementTraitSpec(DAL dal) {
35
        dal.getRuntimeContextBuilder().registerDataRemark(ObjectReference.class, remarkData -> {
1✔
36
            ((ObjectReference) remarkData.data().instance()).addTraitSpec(remarkData.remark());
1✔
37
            return remarkData.data();
1✔
38
        });
39
    }
1✔
40

41
    private void implementListElementAssignment(DAL dal) {
42
        dal.getRuntimeContextBuilder().registerDALCollectionFactory(ObjectReference.class, reference ->
1✔
43
                new InfiniteDALCollection<ObjectReference>(ObjectReference::new) {
1✔
44
                    @Override
45
                    protected ObjectReference getByPosition(int position) {
46
                        return reference.getElement(position);
1✔
47
                    }
48
                });
49
    }
1✔
50

51
    private void overrideOptMatch(DAL dal) {
52
        dal.getRuntimeContextBuilder().registerOperator(Operators.MATCH, new Operation() {
1✔
53
            @Override
54
            public boolean match(Data v1, DALOperator operator, Data v2, RuntimeContextBuilder.DALRuntimeContext context) {
55
                return v1.instance() instanceof ObjectReference && v2.instance() instanceof ExpectationFactory;
1✔
56
            }
57

58
            @Override
59
            public Data operate(Data v1, DALOperator operator, Data v2, RuntimeContextBuilder.DALRuntimeContext context) {
60
                ExpectationFactory.Expectation expectation = ((ExpectationFactory) v2.instance()).create(operator, v1);
1✔
61
                ExpectationFactory.Type type = expectation.type();
1✔
62
                if (type == ExpectationFactory.Type.OBJECT)
1✔
63
                    ((ObjectReference) v1.instance()).rawType(OBJECT);
1✔
64
                else if (type == ExpectationFactory.Type.LIST)
1✔
65
                    ((ObjectReference) v1.instance()).rawType(LIST);
1✔
66
                return expectation.matches();
1✔
67
            }
68
        });
69
        dal.getRuntimeContextBuilder().checkerSetForMatching()
1✔
70
                .register((expected, actual) -> {
1✔
71
                    if (actual.instance() instanceof LegacyTraitSetter)
1✔
72
                        return of(new OverrideVerificationOptChecker<>(LegacyTraitSetter::addTraitSpec));
1✔
73
                    return actual.instance() instanceof ObjectReference
1✔
74
                            ? of(new OverrideVerificationOptChecker<>(ObjectReference::setValue)) : Optional.empty();
1✔
75
                });
76
    }
1✔
77

78
    private void overrideOptEqual(DAL dal) {
79
        dal.getRuntimeContextBuilder().registerOperator(Operators.EQUAL, new Operation() {
1✔
80
            @Override
81
            public boolean match(Data v1, DALOperator operator, Data v2, RuntimeContextBuilder.DALRuntimeContext context) {
82
                return v1.instance() instanceof ObjectReference && v2.instance() instanceof ExpectationFactory;
1✔
83
            }
84

85
            @Override
86
            public Data operate(Data v1, DALOperator operator, Data v2, RuntimeContextBuilder.DALRuntimeContext context) {
87
                ExpectationFactory.Expectation expectation = ((ExpectationFactory) v2.instance()).create(operator, v1);
1✔
88
                ExpectationFactory.Type type = expectation.type();
1✔
89
                ObjectReference objectReference = (ObjectReference) v1.instance();
1✔
90
                if (type == ExpectationFactory.Type.OBJECT)
1✔
91
                    objectReference.rawType(RAW_OBJECT);
1✔
92
                else if (type == ExpectationFactory.Type.LIST)
1✔
93
                    objectReference.rawType(RAW_LIST);
1✔
94
                objectReference.clear();
1✔
95
                return expectation.equalTo();
1✔
96
            }
97
        });
98
        dal.getRuntimeContextBuilder().checkerSetForEqualing()
1✔
99
                .register((expected, actual) -> actual.instance() instanceof ObjectReference
1✔
100
                        ? of(new OverrideVerificationOptChecker<>(ObjectReference::setValue)) : Optional.empty());
1✔
101
    }
1✔
102
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc