Subversion Repository Public Repository

litesoft

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.aokeyhole.swing.mains.mementobeans;

import java.util.*;

import junit.framework.*;

import org.litesoft.*;
import org.litesoft.aokeyhole.swing.mains.mementobeans.support.*;

public class BeanReaderTest extends TestCasePlus
{
    public static TestSuite suite()
    {
        return new TestSuite( BeanReaderTest.class );
    }

    public BeanReaderTest( String name )
    {
        super( name );
    }

    public static void main( String[] args )
    {
        junit.textui.TestRunner.run( suite() );
    }

    public void test_FormsDataRead()
            throws Exception
    {
        BeanReader zReader = BeanReader.createFor( AbstractFormsDataTextFile.INSTANCE.getLines() );
        assertNotNull( zReader );
        assertEquals( "FormsData", zReader.getName() );
        assertArraysAreEqual( zReader.getNotes(), "The Data for the Form View to support the \"Memento\" pattern." );
        List<AttributeData> zAttributes = zReader.getAttributeDatas();
        assertEquals( zAttributes.toString(), 3, zAttributes.size() );

        assertAttributeData( zAttributes, 0, "String", "FirstName", NullFlags.none(), false,
                             "First Name of the Primary Contact" );
        assertAttributeData( zAttributes, 1, "String", "LastName", NullFlags.none(), false );

        assertAttributeData( zAttributes, 2, "String", "JobTitle", NullFlags.none(), false,
                             "Job Title for the Primary Contact person",
                             "(the owner/possessor of this device)." );
    }

    public void test_MasterBeanRead()
            throws Exception
    {
        BeanReader zReader = BeanReader.createFor( AbstractMasterBeanTextFile.INSTANCE.getLines() );
        assertNotNull( zReader );
        assertEquals( "MasterBean", zReader.getName() );
        assertArraysAreEqual( zReader.getNotes(), "The Master (from Master/Detail) Data to demonstrate the support for the \"Memento\" pattern." );
        List<AttributeData> zAttributes = zReader.getAttributeDatas();
        assertEquals( zAttributes.toString(), 6, zAttributes.size() );

        assertAttributeData( zAttributes, 0, "String", "Name", NullFlags.empties(), false );

        assertAttributeData( zAttributes, 1, "String", null, NullFlags.none(), false );

        assertAttributeData( zAttributes, 2, "String", "Description", NullFlags.empties(), true );

        assertAttributeData( zAttributes, 3, "DetailBean", "SpecialDetail", NullFlags.empties(), false );

        assertAttributeData( zAttributes, 4, "DetailBean", "Details", NullFlags.empties(), true );

        assertAttributeData( zAttributes, 5, "Boolean", "Active", NullFlags.falses(), false );
    }

    public void test_DetailBeanRead()
            throws Exception
    {
        BeanReader zReader = BeanReader.createFor( AbstractDetailBeanTextFile.INSTANCE.getLines() );
        assertNotNull( zReader );
        assertEquals( "DetailBean", zReader.getName() );
        assertArraysAreEqual( zReader.getNotes(), "The Detail (from Master/Detail) Data to demonstrate the support for the \"Memento\" pattern." );
        List<AttributeData> zAttributes = zReader.getAttributeDatas();
        assertEquals( zAttributes.toString(), 2, zAttributes.size() );

        assertAttributeData( zAttributes, 0, "String", "Item", NullFlags.empties(), false );

        assertAttributeData( zAttributes, 1, "Integer", "Quantity", NullFlags.zeros(), false );
    }

    private static class NullFlags
    {
        boolean mEmpties, mZeros, mFalses;

        public boolean isEmpties()
        {
            return mEmpties;
        }

        public boolean isZeros()
        {
            return mZeros;
        }

        public boolean isFalses()
        {
            return mFalses;
        }

        public static NullFlags empties()
        {
            NullFlags flags = new NullFlags();
            flags.mEmpties = true;
            return flags;
        }

        public static NullFlags zeros()
        {
            NullFlags flags = new NullFlags();
            flags.mZeros = true;
            return flags;
        }

        public static NullFlags falses()
        {
            NullFlags flags = new NullFlags();
            flags.mFalses = true;
            return flags;
        }

        public static NullFlags none()
        {
            return new NullFlags();
        }
    }

    private void assertAttributeData( List<AttributeData> pAttributes, int pID, String pType, String pName,
                                      NullFlags pNullFlags, boolean pRepeating, String... pNotes )
    {
        AttributeData zAttribute = pAttributes.get( pID );
        assertEquals( pID, zAttribute.getID() );
        assertEquals( pType, zAttribute.getType() );
        assertEquals( pName, zAttribute.getName() );
        assertEquals( pNullFlags.isEmpties(), zAttribute.isNullEmpties() );
        assertEquals( pNullFlags.isZeros(), zAttribute.isNullZeros() );
        assertEquals( pNullFlags.isFalses(), zAttribute.isNullFalses() );
        assertEquals( pRepeating, zAttribute.isRepeating() );
        assertArraysAreEqual( zAttribute.getNotes(), pNotes );
    }
}

Commits for litesoft/trunk/Java/KeyHole/tests/org/litesoft/aokeyhole/swing/mains/mementobeans/BeanReaderTest.java

Diff revisions: vs.
Revision Author Commited Message
947 Diff Diff GeorgeS picture GeorgeS Fri 06 Jun, 2014 23:36:56 +0000

Correct Spelling of package!

830 Diff Diff GeorgeS picture GeorgeS Fri 31 Aug, 2012 18:10:19 +0000
828 Diff Diff GeorgeS picture GeorgeS Wed 29 Aug, 2012 00:53:01 +0000
820 Diff Diff GeorgeS picture GeorgeS Sat 18 Aug, 2012 22:41:35 +0000

!

815 Diff Diff GeorgeS picture GeorgeS Sat 18 Aug, 2012 17:54:14 +0000
792 Diff Diff GeorgeS picture GeorgeS Sun 12 Aug, 2012 17:33:00 +0000
791 GeorgeS picture GeorgeS Sun 12 Aug, 2012 15:22:58 +0000

!