Add initial filds to the builder
This commit is contained in:
		
							
								
								
									
										4
									
								
								examples/empty_omp.omp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								examples/empty_omp.omp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					; OM File Header - Saved 2022/12/29 14:43:16
 | 
				
			||||||
 | 
					; (6.19 :patc (om-make-point 10 10) (om-make-point 50 50) (om-make-point 500 400) "" 183 0 "2022/12/29 14:43:16" "2022/12/29 14:43:16")
 | 
				
			||||||
 | 
					; End File Header
 | 
				
			||||||
 | 
					(in-package :om)(load-lib-for (quote nil))(setf *om-current-persistent* (om-load-patch1 "Patch" (quote nil) (quote nil) nil 6.19))
 | 
				
			||||||
							
								
								
									
										183
									
								
								examples/simple_bpc.omp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										183
									
								
								examples/simple_bpc.omp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,183 @@
 | 
				
			|||||||
 | 
					(
 | 
				
			||||||
 | 
					    in-package :om
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(
 | 
				
			||||||
 | 
					    load-lib-for 
 | 
				
			||||||
 | 
					    (
 | 
				
			||||||
 | 
					        quote nil
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(
 | 
				
			||||||
 | 
					    setf *om-current-persistent* 
 | 
				
			||||||
 | 
					    (
 | 
				
			||||||
 | 
					        om-load-patch1 "Patch 2" 
 | 
				
			||||||
 | 
					        (
 | 
				
			||||||
 | 
					            quote 
 | 
				
			||||||
 | 
					            (
 | 
				
			||||||
 | 
					                (
 | 
				
			||||||
 | 
					                    let 
 | 
				
			||||||
 | 
					                    (
 | 
				
			||||||
 | 
					                        (
 | 
				
			||||||
 | 
					                            box 
 | 
				
			||||||
 | 
					                            (
 | 
				
			||||||
 | 
					                                om-load-editor-box1 "BPC" 
 | 
				
			||||||
 | 
					                                (
 | 
				
			||||||
 | 
					                                    quote bpc
 | 
				
			||||||
 | 
					                                ) 
 | 
				
			||||||
 | 
					                                (
 | 
				
			||||||
 | 
					                                    quote 
 | 
				
			||||||
 | 
					                                    (
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            om-load-inputfun 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                quote input-funbox
 | 
				
			||||||
 | 
					                                            ) 
 | 
				
			||||||
 | 
					                                                "object" "self" nil
 | 
				
			||||||
 | 
					                                        ) 
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            om-load-inputfun 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                quote input-funbox
 | 
				
			||||||
 | 
					                                            ) 
 | 
				
			||||||
 | 
					                                            "X coordinates (list)" "x-points" 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                list 0 100
 | 
				
			||||||
 | 
					                                            )
 | 
				
			||||||
 | 
					                                        ) 
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            om-load-inputfun 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                quote input-funbox
 | 
				
			||||||
 | 
					                                            ) 
 | 
				
			||||||
 | 
					                                            "Y coordinates (list)" "y-points" 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                list 0 100
 | 
				
			||||||
 | 
					                                            )
 | 
				
			||||||
 | 
					                                        ) 
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            om-load-inputfun 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                quote input-funbox
 | 
				
			||||||
 | 
					                                            ) 
 | 
				
			||||||
 | 
					                                            "precision 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                integer
 | 
				
			||||||
 | 
					                                            ) [0 - 10]" "decimals" 0
 | 
				
			||||||
 | 
					                                        )
 | 
				
			||||||
 | 
					                                    )
 | 
				
			||||||
 | 
					                                ) 
 | 
				
			||||||
 | 
					                                (
 | 
				
			||||||
 | 
					                                    om-make-point 151 96
 | 
				
			||||||
 | 
					                                ) 
 | 
				
			||||||
 | 
					                                (
 | 
				
			||||||
 | 
					                                    om-make-point 40 60
 | 
				
			||||||
 | 
					                                ) 
 | 
				
			||||||
 | 
					                                (
 | 
				
			||||||
 | 
					                                    let 
 | 
				
			||||||
 | 
					                                    (
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            newobj 
 | 
				
			||||||
 | 
					                                            (
 | 
				
			||||||
 | 
					                                                when 
 | 
				
			||||||
 | 
					                                                (
 | 
				
			||||||
 | 
					                                                    find-class 
 | 
				
			||||||
 | 
					                                                    (
 | 
				
			||||||
 | 
					                                                        quote bpc
 | 
				
			||||||
 | 
					                                                    )
 | 
				
			||||||
 | 
					                                                    nil
 | 
				
			||||||
 | 
					                                                ) 
 | 
				
			||||||
 | 
					                                                (
 | 
				
			||||||
 | 
					                                                    let 
 | 
				
			||||||
 | 
					                                                    (
 | 
				
			||||||
 | 
					                                                        (
 | 
				
			||||||
 | 
					                                                            newbpf 
 | 
				
			||||||
 | 
					                                                            (
 | 
				
			||||||
 | 
					                                                                simple-bpf-from-list 
 | 
				
			||||||
 | 
					                                                                (
 | 
				
			||||||
 | 
					                                                                    quote 
 | 
				
			||||||
 | 
					                                                                    (
 | 
				
			||||||
 | 
					                                                                        -1 99 70
 | 
				
			||||||
 | 
					                                                                    )
 | 
				
			||||||
 | 
					                                                                ) 
 | 
				
			||||||
 | 
					                                                                (
 | 
				
			||||||
 | 
					                                                                    quote 
 | 
				
			||||||
 | 
					                                                                    (
 | 
				
			||||||
 | 
					                                                                        0 100 65
 | 
				
			||||||
 | 
					                                                                    )
 | 
				
			||||||
 | 
					                                                                ) 
 | 
				
			||||||
 | 
					                                                                (
 | 
				
			||||||
 | 
					                                                                    quote bpc
 | 
				
			||||||
 | 
					                                                                ) 
 | 
				
			||||||
 | 
					                                                                0
 | 
				
			||||||
 | 
					                                                            )
 | 
				
			||||||
 | 
					                                                        )
 | 
				
			||||||
 | 
					                                                    ) 
 | 
				
			||||||
 | 
					                                                    (
 | 
				
			||||||
 | 
					                                                        setf 
 | 
				
			||||||
 | 
					                                                        (
 | 
				
			||||||
 | 
					                                                            bpfcolor newbpf
 | 
				
			||||||
 | 
					                                                        ) 
 | 
				
			||||||
 | 
					                                                        (
 | 
				
			||||||
 | 
					                                                            om-make-color 0 0 0
 | 
				
			||||||
 | 
					                                                        )
 | 
				
			||||||
 | 
					                                                    ) 
 | 
				
			||||||
 | 
					                                                    (
 | 
				
			||||||
 | 
					                                                        set-name newbpf "BPC"
 | 
				
			||||||
 | 
					                                                    ) 
 | 
				
			||||||
 | 
					                                                    newbpf
 | 
				
			||||||
 | 
					                                                )
 | 
				
			||||||
 | 
					                                            )
 | 
				
			||||||
 | 
					                                        )
 | 
				
			||||||
 | 
					                                    ) 
 | 
				
			||||||
 | 
					                                    (
 | 
				
			||||||
 | 
					                                        when newobj
 | 
				
			||||||
 | 
					                                    ) 
 | 
				
			||||||
 | 
					                                    newobj
 | 
				
			||||||
 | 
					                                ) 
 | 
				
			||||||
 | 
					                                "x" nil 
 | 
				
			||||||
 | 
					                                (
 | 
				
			||||||
 | 
					                                    pairlis 
 | 
				
			||||||
 | 
					                                    (
 | 
				
			||||||
 | 
					                                        quote 
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            picture winpos winsize
 | 
				
			||||||
 | 
					                                        )
 | 
				
			||||||
 | 
					                                    ) 
 | 
				
			||||||
 | 
					                                    (
 | 
				
			||||||
 | 
					                                        list nil 
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            om-make-point 0 0
 | 
				
			||||||
 | 
					                                        ) 
 | 
				
			||||||
 | 
					                                        (
 | 
				
			||||||
 | 
					                                            om-make-point 1900 1006
 | 
				
			||||||
 | 
					                                        )
 | 
				
			||||||
 | 
					                                    )
 | 
				
			||||||
 | 
					                                ) 
 | 
				
			||||||
 | 
					                                nil nil nil nil
 | 
				
			||||||
 | 
					                            )
 | 
				
			||||||
 | 
					                        )
 | 
				
			||||||
 | 
					                    ) 
 | 
				
			||||||
 | 
					                    (
 | 
				
			||||||
 | 
					                        when 
 | 
				
			||||||
 | 
					                        (
 | 
				
			||||||
 | 
					                            fboundp 
 | 
				
			||||||
 | 
					                            (
 | 
				
			||||||
 | 
					                                quote set-active
 | 
				
			||||||
 | 
					                            )
 | 
				
			||||||
 | 
					                        ) 
 | 
				
			||||||
 | 
					                        (
 | 
				
			||||||
 | 
					                            set-active box nil
 | 
				
			||||||
 | 
					                        )
 | 
				
			||||||
 | 
					                    ) 
 | 
				
			||||||
 | 
					                    box
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        ) 
 | 
				
			||||||
 | 
					        (
 | 
				
			||||||
 | 
					            quote nil
 | 
				
			||||||
 | 
					        ) 
 | 
				
			||||||
 | 
					        nil 6.19
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										9
									
								
								pkg/types/omp/bpc.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								pkg/types/omp/bpc.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					package omp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type BPC struct {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s BPC) Init() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										20
									
								
								pkg/types/omp/header.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								pkg/types/omp/header.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					package omp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Header struct {
 | 
				
			||||||
 | 
						Data []byte
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (h *Header) Init() {
 | 
				
			||||||
 | 
						h.Data = []byte(`; OM File Header - Saved 2022/12/29 14:43:16
 | 
				
			||||||
 | 
					; (6.19 :patc (om-make-point 10 10) (om-make-point 50 50) (om-make-point 500 400) "" 183 0 "2022/12/29 14:43:16" "2022/12/29 14:43:16")
 | 
				
			||||||
 | 
					; End File Header
 | 
				
			||||||
 | 
					`)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (h *Header) GetData() []byte {
 | 
				
			||||||
 | 
						return h.Data
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (h *Header) DataToString() string {
 | 
				
			||||||
 | 
						return string(h.Data)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										21
									
								
								pkg/types/omp/header_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								pkg/types/omp/header_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					package omp_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"goids/pkg/types/omp"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const headerExample = `; OM File Header - Saved 2022/12/29 14:43:16
 | 
				
			||||||
 | 
					; (6.19 :patc (om-make-point 10 10) (om-make-point 50 50) (om-make-point 500 400) "" 183 0 "2022/12/29 14:43:16" "2022/12/29 14:43:16")
 | 
				
			||||||
 | 
					; End File Header
 | 
				
			||||||
 | 
					`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestAbs(t *testing.T) {
 | 
				
			||||||
 | 
						header := &omp.Header{}
 | 
				
			||||||
 | 
						header.Init()
 | 
				
			||||||
 | 
						str := header.DataToString()
 | 
				
			||||||
 | 
						if str != headerExample {
 | 
				
			||||||
 | 
							t.Errorf("Header is wrong\nwant:\n%s \n\ngot \n%s", headerExample, str)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										37
									
								
								pkg/types/omp/omp.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								pkg/types/omp/omp.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					package omp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "bytes"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type OMP struct {
 | 
				
			||||||
 | 
						Header Header
 | 
				
			||||||
 | 
						Data   Data
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s OMP) Build() []byte {
 | 
				
			||||||
 | 
						buff := bytes.NewBufferString("")
 | 
				
			||||||
 | 
						buff.Write(s.Header.GetData())
 | 
				
			||||||
 | 
						buff.Write(s.Data.GetIntro())
 | 
				
			||||||
 | 
						buff.Write(s.Data.GetLibFor())
 | 
				
			||||||
 | 
						return buff.Bytes()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Data struct {
 | 
				
			||||||
 | 
						Intro  []byte
 | 
				
			||||||
 | 
						LibFor []byte
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s *Data) GetIntro() []byte {
 | 
				
			||||||
 | 
						return s.Intro
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s *Data) SetIntro() {
 | 
				
			||||||
 | 
						s.Intro = []byte("(in-package :om)")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s *Data) GetLibFor() []byte {
 | 
				
			||||||
 | 
						return s.LibFor
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s *Data) SetLibFor() {
 | 
				
			||||||
 | 
						s.LibFor = []byte("(load-lib-for (quote nil))")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								pkg/types/omp/omp_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								pkg/types/omp/omp_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					package omp_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"goids/pkg/types/omp"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const ompExample = `; OM File Header - Saved 2022/12/29 14:43:16
 | 
				
			||||||
 | 
					; (6.19 :patc (om-make-point 10 10) (om-make-point 50 50) (om-make-point 500 400) "" 183 0 "2022/12/29 14:43:16" "2022/12/29 14:43:16")
 | 
				
			||||||
 | 
					; End File Header
 | 
				
			||||||
 | 
					(in-package :om)(load-lib-for (quote nil))`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestOmpBuilder(t *testing.T) {
 | 
				
			||||||
 | 
						header := &omp.OMP{}
 | 
				
			||||||
 | 
						header.Data.SetIntro()
 | 
				
			||||||
 | 
						header.Data.SetLibFor()
 | 
				
			||||||
 | 
						header.Header.Init()
 | 
				
			||||||
 | 
						str := string(header.Build())
 | 
				
			||||||
 | 
						if str != ompExample {
 | 
				
			||||||
 | 
							t.Errorf("Header is wrong\nwant:\n%s \n\ngot \n%s", ompExample, str)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user